Node.js 在webpack生产构建目录中,为js文件提供服务的正确PM2命令是什么?

Node.js 在webpack生产构建目录中,为js文件提供服务的正确PM2命令是什么?,node.js,webpack,pm2,Node.js,Webpack,Pm2,假设我使用webpack将代码捆绑到名为dist的目录中 我是通过命令npm run build完成的 以下是package.json文件中的脚本部分: "scripts": { "test": "mocha ./test/test*.js --recursive --compilers js:babel-core/register", "start": "node server", "build": "rimraf dist && cross-env N

假设我使用webpack将代码捆绑到名为
dist
的目录中

我是通过命令
npm run build
完成的

以下是
package.json
文件中的脚本部分:

"scripts": {
    "test": "mocha ./test/test*.js --recursive --compilers js:babel-core/register",
    "start": "node server",
    "build": "rimraf dist && cross-env NODE_ENV=production webpack --config ./webpack.production.config.js --progress --profile --colors",
    "eslint": "eslint .",
    "jscs": "jscs ."
},

如果我想使用PM2在生产环境中启动我的应用程序(名为bundle.js),我该怎么做?

您可以设置一个
进程.json
文件,并在其中指定需要显式运行的文件:

{
  apps : [{
    name        : "server",
    script      : "./dist/bundle.js",
    watch       : true,
    env: {
      "NODE_ENV": "development",
    },
    env_production : {
       "NODE_ENV": "production"
    }
  }]
}

非常感谢。如果捆绑包文件名包含一个随机数怎么办?我刚刚发现,
npm run build
生成的文件名称中有一个随机数和字母组合。类似于
main-2d4451c6f63d1577504f.min.js
。文件名是否类似于
bundle.a76gs0ad5dh45sdh9aa.js
?它实际上是main-2d4451c6f63d1577504f.min.js,随机数和字母是通过哈希生成的。我以为有一个通用的解决方案可以解决所有类型的文件名,所以我一开始就说它是bundle.js。请出示您的网页配置好吗?当然可以。网页包配置与此完全相同: