Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJs-如何在渲染的EJS中渲染EJS?_Javascript_Node.js_Web - Fatal编程技术网

Javascript NodeJs-如何在渲染的EJS中渲染EJS?

Javascript NodeJs-如何在渲染的EJS中渲染EJS?,javascript,node.js,web,Javascript,Node.js,Web,这就是我的想法:我想加载一个渲染的ejs文件作为我的主模板ejs文件的主体。可能吗 我的app.js: router.get('/', function(req, res) { res.render('layout', {title: "Example title", body: _____________}); }); 我尝试了以下方法,但无效: body: res.render('page1_body_content') 这将是我的主模板文件(layout.ejs) 尝试以下代码:

这就是我的想法:我想加载一个渲染的ejs文件作为我的主模板ejs文件的主体。可能吗

我的app.js:

router.get('/', function(req, res) {
  res.render('layout', {title: "Example title", body: _____________});
});
我尝试了以下方法,但无效:

body: res.render('page1_body_content')
这将是我的主模板文件(layout.ejs)

尝试以下代码:-

var ejs = require('ejs');
var compiled = ejs.compile(fs.readFileSync(__dirname + '/page1_body_content.ejs', 'utf8'));
var html = compiled();

res.render('layout', {title: "Example title", body: html });
将车身标记代码更新为:-

<body>
    <%- body %>
</body>


谢谢,到目前为止还可以使用。但该网站并没有将“哈罗”显示为粗体文本。只是“哈啰”,在源代码中,它看起来是这样的:bhallo/bcan您可以尝试var compiled=ejs.compile(fs.readFileSync(uu dirname+'/page1_body_content.ejs');第二个参数(“utf8”)似乎是必需的。否则,它会抛出一个错误:“TypeError:this.templateText.replace不是Template.generateSource(/Users/myname/myproject/node_modules/ejs/lib/ejs.js:573:25)中的函数,如果答案正确,可以将其标记为正确答案,而不是执行此操作。谢谢