可以用pm2启动vue cli的开发服务器吗?

Can we use pm2 to start the development server of Vue cli?

使用 vue cli 创建 Vue 项目后,我们可以运行使用

yarn run serve

我无法开始使用 pm2。 运行

pm2 start yarn -- run serve

我遇到了几次崩溃和重启,之后,pm2 将停止尝试重启。 在日志中我可以看到

C:\PROGRAM FILES (X86)\YARN\BIN\YARN.CMD:1
(function (exports, require, module, __filename, __dirname) { @echo off
                                                              ^

SyntaxError: Invalid or unexpected token
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:657:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Object.<anonymous> (C:\Users\Utente\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:27:21)
    at Module._compile (internal/modules/cjs/loader.js:689:30)

我从项目的根目录 运行ning pm2 命令,其中 运行ning yarn run serve 没有问题

我的解决方案

首先,删除所有运行 pm2实例

pm2 delete all

然后输入这个配置为ecosystem.js

module.exports = {
  apps: [
    {
      name: "WEB",
      script: "./node_modules/@vue/cli-service/bin/vue-cli-service.js",
      args: "serve"
    }
  ]
};

Note: vue server is already setup natively to do watching and reloading so do not add watch to pm2 settings otherwise the full dev server will be restarted, instead of doing the plain hot reload of vue-cli-service

Also: I suggest to install pm2-logrotate

然后重启

pm2 start ecosystem.js

要跟踪日志,只需使用

pm2 logs

最终将应用程序名称添加为参数以仅查看一个日志

用例

我正在使用它在本地 smtp-catcher 服务器上工作,并使用网络应用程序来读取捕获的电子邮件

是的,你可以。 pm2 start "npm run serve" --name <app name here>