【问题标题】:Can we use pm2 to start the development server of Vue cli?可以用pm2来启动vue cli的开发服务器吗?
【发布时间】:2019-09-27 09:39:10
【问题描述】:

使用 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)

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

【问题讨论】:

    标签: vue.js yarnpkg pm2


    【解决方案1】:

    我的解决方案

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

    pm2 delete all
    

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

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

    注意:vue 服务器已经在本地设置了监视和重新加载,所以不要在 pm2 设置中添加监视,否则整个开发服务器将重新启动,而不是执行 vue-cli-service 的普通热重载

    另外:我建议安装 pm2-logrotate

    然后重启

    pm2 start ecosystem.js
    

    要关注日志,只需使用

    pm2 logs
    

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

    用例

    我正在使用它在本地 smtp-catcher 服务器和 webapp 上工作以读取捕获的电子邮件

    【讨论】:

    • 这行得通,谢谢。我只是稍微更改了命令,而是在做: pm2 start "/var/www/html/myapp/node_modules/.bin/vue-cli-service serve" --name "App Node JS" 这样就可以了- 但是这是一个好习惯吗?这是执行 Vue 服务器的正确方法吗?
    【解决方案2】:

    是的,你可以。 pm2 start "npm run serve" --name &lt;app name here&gt;

    【讨论】:

    • 这不起作用。
    • 您是否使用 package.json 中指定的应用名称运行命令?...N.B:我没有生成生态系统文件。我只是按原样运行命令。
    • 是的...我确实使用 package,json 中指定的名称运行但它无法识别。
    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    相关资源
    最近更新 更多