前言:我最近一直在将我的Web开发技能从PHP + HTML / CSS转换为Nodejs,但是在模板方面遇到了麻烦。
我使用Express,经过一些研究尝试使用Pug.js,但发现我现在想要实现的目标太复杂了,所以我转移到了ejs,因为它似乎更简单。
我想要获得的是能够重复使用我已经为网站上的多个页面编写的HTML - 我发现这些内容被称为“部分”和“部分”。 ?
现在到目前为止我写的代码:
server.js:
var express = require('express');
app = express();
publicFolder = __dirname + '/public';
app.set('view engine', 'ejs');
app.use(express.static(publicFolder, {
extensions: ['html']
}));
app.listen(80, () => {
console.log('Server is online on port 80')
});
index.html:(/public/index.html)
<html>
<body>
<% include ../views/header.ejs %>
</body>
</html>
header.ejs:(/views / header.ejs)
<h1>Test header</h1>
我知道我可能处于完全错误的轨道上,但任何帮助都会非常感激。
此致
编辑:我已经仔细检查以确保它不是路径问题
答案 0 :(得分:0)
您可能更容易将所有视图文件存储为ejs
在同一文件夹中,并使用path
module
来设置静态文件。
server.js:
var express = require('express');
var path = require('path')
app = express();
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.listen(80, () => {
console.log('Server is online on port 80')
});
index.ejs
<html>
<body>
<% include header %>
</body>
</html>
只是一个考虑因素。希望它有所帮助!