当输出为index.html时,如何在WebPack构建生产后运行节点应用程序?

时间:2018-09-12 17:27:15

标签: node.js webpack pm2

***已更新,以进一步澄清: 非常感谢您抽出宝贵的时间回复。运行“ npm run build”(我使用的是Vuetify / Webpack模板)创建了一个index.html和一个名为“ static”的目录,以及相应的html,css和js(位于“ dist”目录中)。问题是-如何在生产中使用node或pm2(例如,“ pm2 start myapp.js”)运行它?

做一些进一步的研究和测试,将“ npm run build”构建为静态。我缺乏对vue-cli如何通过生产来构建(通过WebPack)的了解(vue-cli生成了旨在通过Web服务器提供服务的静态)。做进一步的测试,我可以在几个本地Linux服务器上加载并启动我的应用程序(静态内容在一个服务器上运行,而MongoDB和API在另一台服务器上运行(API在pm2上运行))。另外,我能够在AWS S3上启动它(为静态)。我想我现在有答案。非常感谢您的宝贵时间。

***来自原始帖子: 如何在生产中运行以下节点应用程序? Webpack构建生成了index.html(我假设它正在使用html-webpack-plugin)。如果我在Web服务器(例如nginx)下运行,则可以查看该站点,但是我想使用pm2或运行节点进程来运行最终的应用程序。

我正在使用Vuetify WebPack模板(我正在使用Vue.js),当我运行npm run build进行生产(在package.json:“build”: “node build/build.js”中)时,输出如下:

$ ls
index.html static/

$ ls static/js/
app.f7301c212bc5fefd6563.js manifest.2ae2e69a05c33dfc65f8.js vendor.1aae36aa0dc798d4d36d.js
app.f7301c212bc5fefd6563.js.map manifest.2ae2e69a05c33dfc65f8.js.map vendor.1aae36aa0dc798d4d36d.js.map

所以,我该如何通过节点(npm启动)或pm2(pm2启动)(不能使用index.html或static / js文件)运行它。

当我运行webpack构建时,我期望通过节点或pm2(运行npm start并运行“ node build.js”或pm2 start build.js)的.js输出(例如“ build.js”)运行。我想这将适用于无服务器,但是我希望通过pm2(以nginx作为代理)运行,因为该应用程序将具有其他因素(例如MongoDB),不允许在无服务器(例如AWS Lambda)中运行。

这仅仅是重新配置WebPack以输出到.js文件(例如,build.js),还是允许静态文件(通过网络服务器,nginx / Apache / http-server提供)允许相同的功能?也就是说,是否有任何因素会通过“ node build.js”或“ pm2 start build.js”作为静态诗词运行来限制我的应用程序(例如,我的API连接到后端仍可以正常工作(后端是node / JS))?

0 个答案:

没有答案