【发布时间】:2025-12-06 08:55:01
【问题描述】:
代码
我想让我的网页模块化,这样我就不需要一次又一次地写我的东西。我认为我的解决方案是 ejs lib。所以我使用了这样配置的 express 和 ejs:
const app = express();
app.engine('.html', require('ejs').renderFile);
app.set('view engine', 'html');
app.set('views', __dirname + '/wwwroot/views');
我的视图文件夹结构如下所示:
wwwroot
static
css
js
views
login
index.html
profile
dashboard.html
templates
inc_header.html
inc_footer.html
我的仪表板有以下内容
<% include templates/inc_header.html %>
This is my dashboard
问题
头文件将不包括在内。我试过 wwwroot/views/templates/header.html 和 header.html。没有任何效果。
我的整个服务器配置
app.engine('.html', require('ejs').renderFile);
app.set('view engine', 'html');
app.set('views', __dirname + '/wwwroot/views');
app.use(session({
secret: program.secret || "secret",
resave: true,
saveUninitialized: true
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }))
app.use('/', express.static(path.join(__dirname, '/wwwroot/static/')));
网络服务器上的输出
这是我的仪表板
看起来文件不会被渲染?
【问题讨论】:
-
您根本没有名为
header.html的文件! -
我使用了 inc_header.html。我编辑了它....
标签: javascript html node.js express ejs