有没有办法将ejs文件的文件扩展名保存为.html?

我正在开发一个使用ejs模板引擎的expressjs应用程序。 但是我想使用像home.html而不是使用home.ejs保持ejs文件的扩展名。 这是我使用Visual Studio开发和Visual Studio不支持ejs文件的原因。 所以代码提示格式和突出显示不起作用。

var express = require("express"); var app = express(); app.set("view engine", "ejs");//setting ejs view engine app.set("views", "./views"); app.get("/", function (req, res) { res.render("home"); }); app.listen(3000, function () { console.log("Server is listening on port 3000"); }) 

使用app.engine('.html', require('ejs').__express); ejs npm模块:

 app.engine('.html', require('ejs').__express); app.set('view engine', 'ejs'); 

我有使用Visual Studio与ejs文件工作类似的问题。 最好的办法,我相信是configurationVisual Studio将解释ejs文件为html,方法是进入菜单 – 工具 – >选项 – >文本编辑器 – > FileExtension,并在HTML编辑器中添加ejs文件扩展名。 截图

你可以使用app.engine(ext,callback)

使用顶部附近的视图引擎和视图设置来设置以下内容:

 app.engine('html', require('ejs').renderFile); 

那么当你调用res.render唯一的区别就是你需要指定扩展名:

 app.get('/',function(req,res){ res.render("home.html", { myString: "I'm a normal string!" }); }); 

你会发现<%=myString%>的处理方式和你在.ejs文件中所预期的一样。