【问题标题】:NodeJS alternative to PHP includes? [duplicate]替代 PHP 的 NodeJS 包括? [复制]
【发布时间】:2016-12-27 20:14:18
【问题描述】:

我来自 PHP 背景,但我决定在我的最新项目中尝试 NodeJS(可能还有 Express)。用于模板化 HTML 页面的 PHP 包含的替代方案是什么?我习惯了:

<?php include('header.php'); ?>

我试过谷歌搜索 Stack Overflow,但找不到 NodeJS 的替代方案。

【问题讨论】:

  • 获得类似 PHP 的功能,您只需要将 HTML 从单独的文件中包含进来,您可以这样做:express.get('/', function (req, res) { let header = fs.readFileSync(__dirname + '/header.html'), index = fs.readFileSync(__dirname + '/index.html'); res.send(header + index); });

标签: javascript php html node.js php-include


【解决方案1】:

如果你只想从外部文件加载导出的对象,你可以使用require函数。

var imported = require('your-module');

如果你想在你的全局范围内直接执行外部 Javascript 文件(类似于 PHP 的include),那么你应该使用eval。

eval(require('fs').readFileSync('your-module\\index.js') + '');

【讨论】:

  • 我正在寻找允许“模板化”html 页面的东西。这样我可以更改文档的标题,并且所有标题都会更改。
  • 我不确定你想做什么。 Node.js 没有标头,而是使用模块。如果更改模块,则包含该模块的所有脚本都将更改。
  • 抱歉,也许 NodeJs 不是执行此操作的正确技术。你知道在 HTML 文件中包含 HTML 文件的方法吗?例如,如果我的所有 HTML 页面上都有一个网站标题。
  • @LearnSomeMore。在 HTML 中执行此操作的最佳方法是包含一个脚本,该脚本将在 window.onload 事件触发时配置标题。
  • 附带说明 - 这里提到的 eval 解决方案与 PHP 非常相似,可以包含函数并清理您的基本脚本。
猜你喜欢
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
相关资源
最近更新 更多