我如何将 babel 6 与 pm2 1.0 一起使用?
How can I use babel 6 with pm2 1.0?
我有用 ES6 编写的服务器代码,我使用 pm2 来管理该服务器。
几个月前,我使用了 next_gen_js
选项,效果非常好。
但是,我现在尝试将 pm2 更新到 v1.0.0,但我收到关于 import
是非法令牌的错误。基本上,我的 ES6 文件不再被解析为 ES6。
如何将 pm2 与 ES6 文件一起使用?
pm2 dropped v1.0.0 中的 next_gen_js
标志,因为它捆绑了 babel,这很重。
你基本上有四个选择。
- 停止在后端使用 ES6。
- 坚持使用 pm2 v0.14 并使用
next_gen_js
标志。
- 使用
interpreter
(exec_interpreter
的别名)标志并将其设置为 babel-node
。您需要添加 babel-cli
作为应用的依赖项。请注意,interpreter
选项仅与 fork
exec_mode
兼容,而不与 cluster
兼容。此选项在撰写本文时仍处于测试阶段,除非您有重要的缩放限制,否则这可能不是主要问题。
- 使用一些首先需要
babel-register
的特定入口点。例如,您可能有一个 ES6 中的 server.js
文件和 ES6 兼容引擎的首选入口点,以及一个仅执行 require('babel-register'); require('./server');
. 的 index.js
根据文档 (http://pm2.keymetrics.io/docs/usage/quick-start/),您只需使用解释器标签启动 pm2,例如:
pm2 start --interpreter babel-node server.js //(server.es6)
我有用 ES6 编写的服务器代码,我使用 pm2 来管理该服务器。
几个月前,我使用了 next_gen_js
选项,效果非常好。
但是,我现在尝试将 pm2 更新到 v1.0.0,但我收到关于 import
是非法令牌的错误。基本上,我的 ES6 文件不再被解析为 ES6。
如何将 pm2 与 ES6 文件一起使用?
pm2 dropped v1.0.0 中的 next_gen_js
标志,因为它捆绑了 babel,这很重。
你基本上有四个选择。
- 停止在后端使用 ES6。
- 坚持使用 pm2 v0.14 并使用
next_gen_js
标志。 - 使用
interpreter
(exec_interpreter
的别名)标志并将其设置为babel-node
。您需要添加babel-cli
作为应用的依赖项。请注意,interpreter
选项仅与fork
exec_mode
兼容,而不与cluster
兼容。此选项在撰写本文时仍处于测试阶段,除非您有重要的缩放限制,否则这可能不是主要问题。 - 使用一些首先需要
babel-register
的特定入口点。例如,您可能有一个 ES6 中的server.js
文件和 ES6 兼容引擎的首选入口点,以及一个仅执行require('babel-register'); require('./server');
. 的
index.js
根据文档 (http://pm2.keymetrics.io/docs/usage/quick-start/),您只需使用解释器标签启动 pm2,例如:
pm2 start --interpreter babel-node server.js //(server.es6)