Node.js 如何配置expressjs以在生产模式下提供index.html?
我正在尝试将我的应用程序部署到本地计算机以模拟部署过程。你管它叫登台模式或其他什么。我使用的工具包括pm2和Nginx 当我在项目中直接使用Node.js 如何配置expressjs以在生产模式下提供index.html?,node.js,production,Node.js,Production,我正在尝试将我的应用程序部署到本地计算机以模拟部署过程。你管它叫登台模式或其他什么。我使用的工具包括pm2和Nginx 当我在项目中直接使用pm2 start server.js运行我的应用程序时,我可以使用我的web应用程序。客户端可以通过Nginx服务器访问index.html文件。但我认为这不是生产模式,除非我也使用--env production 因此,我将所有需要的文件复制到我的项目的dist目录中,配置Nginx以提供静态内容,在我的源代码中,我想使用 app.get('/', fu
pm2 start server.js
运行我的应用程序时,我可以使用我的web应用程序。客户端可以通过Nginx服务器访问index.html
文件。但我认为这不是生产模式,除非我也使用--env production
因此,我将所有需要的文件复制到我的项目的dist
目录中,配置Nginx以提供静态内容,在我的源代码中,我想使用
app.get('/', function(req, res) {
res.sendFile('index.html', {root: somePath});
});
允许客户端访问express server上的index.html
文件。但是我不确定要在somePath中放入什么?在将项目部署到服务器时,我将服务器端和客户端分开。例如,我的服务器端在/usr/path/server
上,但我的客户端在/etc/shared/html
上。如果我弄乱了路径,我将从中得到一条“禁止”的错误消息
express当我访问
index.html
时,如果您希望在开发过程中实现类似于生产的可重复性,那么您应该使用相同的工具实现相同的功能
现在是解决这个问题的最好办法。作为开始,您应该有两个容器,第一个是nginx,第二个是pm2。此外,您还应该将静态文件的卷绑定/装载到nginx。如果您希望在开发过程中实现类似于生产的可重复性,那么您应该使用相同的工具实现相同的功能
现在是解决这个问题的最好办法。作为开始,您应该有两个容器,第一个是nginx,第二个是pm2。您还应该将静态文件的卷绑定/装载到nginx。您的代码应该是这样的
var path = require('path');
var virtualDirPath = process.env.virtualDirPath || '';
var appDir = path.dirname(require.main.filename) + virtualDirPath;
appDir将提供环境目录,您可以从该目录访问html
文件
希望有帮助:)您的代码应该是这样的
var path = require('path');
var virtualDirPath = process.env.virtualDirPath || '';
var appDir = path.dirname(require.main.filename) + virtualDirPath;
appDir将提供环境目录,您可以从该目录访问html
文件
希望有帮助:)我想你应该使用这个@ArtemIlchenko,我正在使用Nginx来提供静态内容。我为什么要使用这个模块?我想你应该使用这个@ArtemIlchenko,我正在使用Nginx来提供静态内容。我为什么要使用此模块?是的,我计划稍后使用docker。在我看来,docker compose是以类似于产品的方式演示应用程序的最简单的解决方案。如果你需要更快更脏的东西,那么你可以使用代码破解(例如:从@ArtemIlchenko advice提供静态服务)或简单免费的工具在互联网上发布(例如:)是的,我计划稍后使用docker。在我看来,docker compose是以类似于产品的方式演示应用程序的最简单的解决方案。如果您需要更快更脏的东西,那么您可以使用代码破解(例如:从@ArtemIlchenko advice提供静态服务)或简单免费的工具在internet上发布(例如:)