我不想在我的网站上出现 Jade 或 EJS。如何在不默认使用 Jade 模板的情况下创建快速站点?谢谢
问问题
30498 次
5 回答
31
如果您想要的是直接提供静态 html 文件并可以缓存资源,同时仍然能够点击“/”并获取 index.html,那么答案就这么简单:
var express = require('express');
var http = require('http');
var app = express();
app.use(express.static(__dirname + '/public'));
http.createServer(app).listen(3000);
问题:包含 index.html 的 Html 文件必须在 /public 文件夹中,而不是 /views
于 2013-10-16T23:53:33.367 回答
22
您可以使用以下命令全局安装express-generator,然后在没有视图引擎的情况下搭建项目
npm install -g express-generator
express newProject --no-view
于 2019-04-28T05:59:45.640 回答
4
您可以注释掉这些行
app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
来自 Express 初始化代码。
如果您只提供静态内容:https ://github.com/visionmedia/express/blob/master/examples/static-files/index.js
否则,请使用您的数据库、您的文件、您的用户输入或其他任何东西来连接构成 http 响应的字符串。
// Express 3.x
app.get('*', function(req,res){
fs.readFile('./foo.txt', 'utf8', function (err, data) {
if (err) throw err;
data += (req.query['something'] || "")
res.type('text/plain');
res.send(200, data);
});
});
话虽如此:在过去的几个月里我一直在玩 Jade,我已经爱上了它。它有它的特性,但编写任何复杂的 html 的速度要快几个数量级。
于 2013-02-06T23:08:58.470 回答
1
使用 Express 4.0.0,您唯一需要做的就是在 app.js 中注释掉 2 行:
/* app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade'); */ //or whatever the templating engine is.
然后将你的静态 html 放到 /public 目录中。示例:/public/index.html
于 2014-04-17T17:43:13.813 回答
1
使用 Restify
http://restify.com/
var restify = require('restify'),
fs = require('fs');
var server = restify.createServer({
certificate: fs.readFileSync('path/to/server/certificate'),
key: fs.readFileSync('path/to/server/key'),
name: 'MyApp',
});
server.listen(8080);
它大量借用 Express -Routing
于 2016-12-05T05:23:06.370 回答