我不想在我的网站上使用Jade或EJS。如何在没有默认的Jade模板的情况下创建一个快速网站?感谢
答案 0 :(得分:20)
如果您想要的是直接提供可以缓存资源的静态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
答案 1 :(得分:3)
您可以注释掉
行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);
});
});
随着这一点说:我已经成长为爱玉,因为我在过去的几个月一直在玩它。它有其特殊性,但写入任何复杂的HTML都要快几个数量级。
答案 2 :(得分:0)
使用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
答案 3 :(得分:0)
使用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
答案 4 :(得分:0)
您可以使用以上命令在全局安装Express-Generator,然后在没有视图引擎的情况下搭建项目
npm install -g express-generator
express newProject --no-view