如何在没有模板引擎的情况下创建Express站点?

如何在没有模板引擎的情况下创建Express站点?,express,Express,我不想在我的网站上的玉或EJS。如何创建一个express站点而不使用默认的Jade模板?谢谢您可以注释掉这些行 app.set 'views', __dirname + '/views' app.set 'view engine', 'jade' 从快速初始化代码 如果您仅提供静态内容: 否则,请使用数据库、文件、用户输入或其他任何内容连接一个字符串,以组成http响应 // Express 3.x app.get('*', function(req,res){ fs.readFile(

我不想在我的网站上的玉或EJS。如何创建一个express站点而不使用默认的Jade模板?谢谢

您可以注释掉这些行

app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
从快速初始化代码

如果您仅提供静态内容:

否则,请使用数据库、文件、用户输入或其他任何内容连接一个字符串,以组成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都要快几个数量级。

如果您想要的是直接为静态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);

明白了:对于Express 4.0.0,包括index.Html在内的Html文件必须在/public folder中,而不是在/views中,您只需在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

使用Restify


它大量借鉴了快速路由

您可以使用下面的命令进行全局安装,然后在没有视图引擎的情况下构建一个项目

 npm install -g express-generator
 express newProject --no-view

这可能已经过时了。事情变化很快。事情就是这样运行的,但错误是:找不到模块“html”-每当您对上面的行进行注释时,就会弹出模块“html”,将jade版本文件添加到公用文件夹中,并在定义了$routeProvider函数的公用文件夹中的“app.js”或“main.js”文件中进行更改。请使用path.join(\u dirname,'public'))而不是假设“/”是正确的目录分隔符。这就是我实际需要的。因为我打算通过Go消费数据。那太简单了。。经过这么长时间。。谢谢。如果你需要从头开始,这应该是公认的答案。我只需要添加
--git
来生成
.gitignore
文件
 npm install -g express-generator
 express newProject --no-view