我有一个 Node 服务器文件 app.js
,它使用 express
。
文件看起来像这样
var express = require('express')
var app = express();
app.use(express.static(__dirname + '/public'))
app.get('/', function (req, res) {
res.send('Hello World!')
})
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
});
如果我从终端运行 $ node app.js
,它就会启动,如果我导航到我的机器上的 localhost:3000
,我会看到 Hello World!
。
我已将文件上传到服务器,并尝试导航到 public
文件夹中的 index.html
文件,但它不起作用。
也许我遗漏了很多步骤,但谁能告诉我如何在我的服务器上启动 node
应用程序?
最佳答案
您的服务器不会向任何地方发送index.html。它仅通过发送文本“Hello World!”来服务“/”路径。
使用 Node.js,您必须告诉每个路由要发送哪些内容。
您可以简单地发送特定文件:(当然,但很脏)
app.get('/index.html', function (req, res) {
res.send(PATH_TO_FILE/index.html);
});
或者指定默认使用哪个路径来提供文件:
app.use(express.static(__dirname + '/public'));
并且您将所有公共(public)文件自动放在公共(public)文件夹中:
YOUR_PROJECT/public/AUTOMATICALLY_SERVED_FILES
例如,AUTOMATICALLY_SERVED_FILES
可以是 index.html
或 css/style.css
。
注意:NGINX 目前没有用处。
关于javascript - 将 Node 应用程序传输到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40806617/