不使用Jade的Node.js + Express
是否可以使用没有任何模板引擎的快递?
更新
有些人可能担心sendFile只提供客户端caching。 服务器端caching有多种方式,并且与OP的问题保持一致,也可以使用send发送文本:
res.send(cache.get(key));
以下是3年前的原始答案:
对于任何寻找PavingWays的替代答案的人,也可以这样做:
app.get('/', function(req, res) { res.sendFile('path/to/index.html'); });
不需要写:
app.use(express['static'](__dirname + '/public'));
是,
app.get('/', function(req, res){ res.render('index.html'); });
应该只是工作
对于任何需要在新的快速项目中立即使用没有玉石的普通HTML的人,你可以这样做。
添加一个index.html
到视图文件夹。
在app.js
改变
app.get('/', routes.index);
至
app.get('/', function(req, res) { res.sendfile("views/index.html"); });
UPDATE
改用这个。 有关说明,请参阅下面的注释部
app.get('/', function(req, res) { res.sendFile(__dirname + "/views/index.html"); });
您可以使用Express自动提供静态文件,如下所示:
// define static files somewhere on top app.use(express['static'](__dirname + '/your_subdir_with_html_files'));
其实这应该是express.static(…)而是通过JSLint以上的版本作品了)
然后你启动服务器,并听取例如端口1337:
// app listens on this port app.listen(1337);
Express现在自动地在/ your_subdir_with_html_files中自动提供静态文件,如下所示:
HTTP://本地主机:1337 / index.html的
HTTP://本地主机:1337 / otherpage.html
这是完全过时的 – 正确答案为3x,4x是
第二个答案在这里: 渲染基本的HTML视图?
在你的主文件中:
app.get('/', function(req, res){ res.render('index'); });
你的index.jade文件应该只包含:
include index.html
其中index.html是您制作的原始HTML。