Javascript 包含在express 500错误-.html扩展视图引擎中
我有一个express应用程序,其中我的视图设置为HTML,但实际上我使用ejs引擎来保留.HTML扩展名。看起来是这样的:Javascript 包含在express 500错误-.html扩展视图引擎中,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我有一个express应用程序,其中我的视图设置为HTML,但实际上我使用ejs引擎来保留.HTML扩展名。看起来是这样的: app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html'); app.engine('html', ejs.renderFile); app.use(expressLayouts); 我想在我的模板中使用ejs包含。我的文件夹结构如下: views/includes/in
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
app.use(expressLayouts);
我想在我的模板中使用ejs包含。我的文件夹结构如下:
views/includes/include.html
我的include如下所示:
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
app.engine('html', ejs.renderFile);
app.use(expressLayouts);
当将视图引擎设置为ejs时,例如app。设置“视图引擎”、“ejs”;这包括预期的工作。但是当使用我现在的视图引擎配置时,设置'view engine','html';
app.engine'html',ejs.renderFile;我明白了:
GET/500 2.074 ms-2580错误:找不到包含文件
在我的视图引擎中,与我现在采用的方法相比,我是否需要显式地将其设置为ejs?如何获得include以使用.html扩展名?我认为EJS源代码中的相关行如下所示:
如果include还没有扩展名,则在文件名末尾追加.ejs。似乎没有任何方法可以改变这一点,但您可以显式地将.html扩展名添加到include中。没有想到这一点,但现在已经非常有意义了。