PM2+KOA2+ES6 :pm2运行编译es6的方法
2018-01-20 本文已影响0人
努力着的懒惰鬼
近期,公司的官网要添加与后台的交互请求,考虑到跨域等问题,我用了koa2搭建的node服务。后来头儿甩给了我一份关于PM2(node服务进程管理工具)的连接。经过一天的看官方文档和折腾,成功使用PM2管理起了官网。主要浪费在了熟悉pm2和pm2对es6的编译上。。。。。这块下面我会记录一下。
官网上是这么写的,贴张图吧:

我用了没效果,在pm2的报错日志里可看具体错误。我那边就是不识别es6的import命令。后来随便看,看到了这么一段:

其实这段代码 我在对应的ecosystem.config.js(简单说 就是pm2的配置文件,类似npm的package.json)里写过对应的,但没起作用。看到这我才明白为啥没起作用:pm2默认服务是负载均衡的,注意红框中的话:没错,它只能工作在fork模式下。所以我那就一直没跑起来。
但如果不用负载均衡,感觉又何必用pm2呢?它的优势不就是这个吗?所以又往下看。果然,pm2提供了解决方法:

单写一个js文件,内容如上。pm2 直接运行这个文件即可。既解决了koa的es6编译的问题,又能使用pm2的负载均衡。