使用Express

时间:2017-06-20 11:08:52

标签: node.js express

我有一个HTML文件(privacy.html),我想将其作为家庭服务。我写了以下内容:

app.get('/', (req, res) => {
  res.writeHead(200, {'Content-Type': 'text/html'})
  res.write(require('./privacy.html'))
  res.end()
})

有什么问题?

3 个答案:

答案 0 :(得分:4)

您不能使用require来包含html。看看快递res.sendFileexpress.static。看起来你可能想要后者,但前者是更灵活的,如果你确定你想要你拥有的结构。

此处a little more information about require and the module system

编辑:您似乎对学习不感兴趣,但愿意将答案交给您。我恳请您阅读我提供的链接,但我还是会给您一些代码,以便您不会使用糟糕的技术。

完整的实施非常简单:

// Somewhere above, probably where you `require()` express and friends.
const path = require('path')

// Later on. app could also be router, etc., if you ever get that far

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'privacy.html'))
})

// If you think it's still readable, you should be able rewrite this as follows.

app.get('/', (req, res) => res.sendFile(path.join(__dirname, 'privacy.html')))

有很多方法可以让这个发烧友(绑定等),但是当它按原样工作时,它们都不值得做。这将适用于express所做的任何地方,包括路径定界符/文件系统层次结构不同的系统。

答案 1 :(得分:4)

这可能是您正在寻找的:

app.get('/', function(req, res){
res.sendFile(__dirname + '/privacy.html');
});

答案 2 :(得分:-2)

app.get('/', function(req, res){
  res.sendFile(__dirname + 'privacy.html');
});

以下是一个很好的例子:https://codeforgeek.com/2015/01/render-html-file-expressjs/