如何在没有模板引擎的情况下制作Express网站?

Mat*_*zke 19 express

我不想在我的网站上使用Jade或EJS.如何在没有默认的Jade模板的情况下创建一个快速网站?谢谢

Heb*_*rLZ 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);
Run Code Online (Sandbox Code Playgroud)

问题:包括index.html在内的Html文件必须位于/ public文件夹而不是/ views

  • 使用path.join(__ dirname,'public')而不是假设'/'是正确的目录分隔符. (2认同)

tra*_*ada 7

您可以使用以上命令在全局安装Express-Generator,然后在没有视图引擎的情况下搭建项目

 npm install -g express-generator
 express newProject --no-view
Run Code Online (Sandbox Code Playgroud)


Pla*_*ato 5

您可以注释掉这些行

app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
Run Code Online (Sandbox Code Playgroud)

来自 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);
  });
});
Run Code Online (Sandbox Code Playgroud)

话虽如此:我已经爱上了 Jade,因为过去几个月我一直在玩它。它有其特性,但编写任何复杂的 html 的速度要快几个数量级。