一尘不染

Node.js将HTML文件发送到客户端

node.js

我使用此功能将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>

阅读 265

收藏
2020-07-07

共1个答案

一尘不染

尝试这样的代码:

var app = express();
app.get('/test', function(req, res) {
    res.sendFile('views/test.html', {root: __dirname })
});
  1. 使用res.sendFile而不是手动读取文件,以便express可以为您正确设置内容类型。

  2. 您不需要这app.engine行,因为这是由express内部处理的。

2020-07-07