如何在pm2 1.0中使用babel 6?

时间:2016-02-16 15:19:37

标签: javascript ecmascript-6 babeljs pm2

我有用ES6编写的服务器代码,我使用pm2来管理该服务器。 几个月前,我使用了next_gen_js选项,它神奇地工作。

但是,我现在尝试将pm2更新为v1.0.0,并且我收到有关import是非法令牌的错误。基本上,我的ES6文件不再被解析为ES6了。

如何将pm2与ES6文件一起使用?

2 个答案:

答案 0 :(得分:3)

pm2 dropped v1.0.0中的next_gen_js标志,因为它捆绑了babel,非常重。

你基本上有四种选择。

  1. 停止在后端使用ES6。
  2. 坚持pm2 v0.14并使用next_gen_js标志。
  3. 使用interpreter(别名exec_interpreter)标记并将其设置为babel-node。您需要添加babel-cli作为应用的依赖项。请注意,interpreter选项仅与fork exec_mode兼容,而不与cluster兼容。此选项在撰写本文时仍处于测试阶段,除非您有重要的缩放限制,否则这可能不是主要问题。
  4. 使用首先需要babel-register的特定入口点。例如,您可能拥有ES6中的server.js文件和ES6兼容引擎的首选入口点,以及只有index.js的{​​{1}}。

答案 1 :(得分:-3)

从文档(http://pm2.keymetrics.io/docs/usage/quick-start/)中,您只需使用解释器标记启动pm2:

pm2 start --interpreter babel-node server.js //(server.es6)