我使用此功能将html文件发送到客户端,但是在客户端中我什么也没有得到(空白页),没有错误。我有什么问题吗?,请帮忙?
var express = require('express'); var fs = require('fs'); var app = express(); app.set('view engine', 'jade'); app.engine('jade', require('jade').__express); app.get('/test', function(req, res) { fs.readFile(__dirname + '/views/test.html', 'utf8', function(err, text){ res.send(text); }); var port = process.env.PORT || 80; var server = app.listen(port); console.log('Express app started on port ' + port);
我的test.html文件
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style something here </style> <title>Test</title> <script src="..."></script> </head> <body> <div> Somthing here </div> <script type="text/javascript"> //something here </script> </body></html>
尝试这样的代码:
var app = express(); app.get('/test', function(req, res) { res.sendFile('views/test.html', {root: __dirname }) });
使用res.sendFile而不是手动读取文件,以便express可以为您正确设置内容类型。
您不需要这app.engine行,因为这是由express内部处理的。
app.engine