Javascript 有没有办法将ejs文件的文件扩展名保持为.html?
我正在使用ejs模板引擎开发一个expressjs应用程序。但是我想使用像home.html一样保留ejs文件的扩展名,而不是使用home.ejs。原因是我正在使用VisualStudio进行开发,而VisualStudio不支持ejs文件。因此,代码暗示格式化和突出显示不起作用Javascript 有没有办法将ejs文件的文件扩展名保持为.html?,javascript,node.js,express,ejs,embedded-javascript,Javascript,Node.js,Express,Ejs,Embedded Javascript,我正在使用ejs模板引擎开发一个expressjs应用程序。但是我想使用像home.html一样保留ejs文件的扩展名,而不是使用home.ejs。原因是我正在使用VisualStudio进行开发,而VisualStudio不支持ejs文件。因此,代码暗示格式化和突出显示不起作用 var express = require("express"); var app = express(); app.set("view engine", "ejs");//setting ejs view eng
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')。\uuu express):
app.engine('.html', require('ejs').__express);
app.set('view engine', 'ejs');
我在使用VisualStudio处理ejs文件时遇到了类似的问题。我认为,最好的方法是配置Visual Studio,通过进入菜单-工具-->选项-->文本编辑器-->文件扩展名,并根据html编辑器添加ejs文件扩展名,将ejs文件解释为html。
您可以使用
使用顶部附近的视图引擎和视图设置设置以下内容:
app.engine('html', require('ejs').renderFile);
然后,当调用res.render
时,唯一的区别是需要指定扩展名:
app.get('/',function(req,res){
res.render("home.html", { myString: "I'm a normal string!" });
});
您会发现,
是按照您在.ejs文件中所期望的方式处理的。我正在设法解决这个问题,我的代码类似于@homam answer,但我会更完整地编写代码
const http = require('http');
const path = require('path');
const express = require('express');
const engine = require('ejs');
const app = express();
app.engine('html', engine.__express);
app.set('views', path.join(__dirname, './views'));
app.set('view engine', 'html');
//this route will open profil.html in folder ./views
app.get('/', (req, res) => {
//render file profil.html
res.render('profil', {
name: 'Danang Ponorogo'
});
});
var server = http.createServer(app);
server.listen(3001, () => {
console.log('Server is running at port 3001');
});
希望能有所帮助。谢谢。为什么要这样做而不是配置Visual Studio,使其知道。ejs
文件应被视为.html
?这似乎是问了一个错误的问题。我认为@loganfsmyth是对的,你需要将你的VS配置为确认.ejs文件,这样它就被视为一个html文件。你知道我们是否可以对js文件做同样的处理,因为app.engine('.js',require('ejs')。\uu express)代码>似乎不起作用`当我在index.html文件中使用一个小ejs时,它似乎对我不起作用,比如:hello
嵌入式JavaScript模板