javascript - 将 Node 应用程序传输到服务器

标签 javascript node.js nginx

我有一个 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.htmlcss/style.css

注意:NGINX 目前没有用处。

关于javascript - 将 Node 应用程序传输到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40806617/

相关文章:

javascript - Firestore 函数或触发器之间的设计决策

javascript - 时间戳转换 : Get day, 日期、小时、分钟等,无需创建 "new Date()"

css - 将 .css 文件添加到 ejs

python - SSL 客户端证书不是由 python 'requests' 库或 s_client 发送的,但在 Web 浏览器中工作正常

php - 如何高效交付大量 Assets (图片)?

javascript - Vue - 从索引中提取多个组件

javascript - 实时刷新 Rails View

node.js - 我可以在 Powershell 的 PATH 中包含相对于当前目录的文件夹吗?

node.js - 找不到模块 'prettier'

nginx - 代理时应该如何转发 HTTP 端口的值?