我有一个HTML文件(privacy.html),我想将其作为家庭服务。我写了以下内容:
app.get('/', (req, res) => {
res.writeHead(200, {'Content-Type': 'text/html'})
res.write(require('./privacy.html'))
res.end()
})
有什么问题?
答案 0 :(得分:4)
您不能使用require
来包含html。看看快递res.sendFile
和express.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/