我正在编写一个由微服务组成的应用程序(我使用micro)。
我非常喜欢es6
,因此我使用Babel
来简化开发过程。我遇到的问题是我需要一个脚本来编译我的es6
代码并重新启动服务器&#39 ;;我不知道如何实现这一目标。
现在我的package.json
:
"scripts": {
"start": "yarn run build && micro",
"build": "./node_modules/.bin/babel src --out-dir lib"
},
当我运行yarn start
时,我的es6
代码成功编译,micro
启动服务器。但是,如果我对代码进行了更改,我将不得不手动停止服务器并再次运行yarn start
。
我已尝试更改构建脚本
"build": "./node_modules/.bin/babel src --watch --out-dir lib"
但是在这种情况下,micro
命令不会被执行,因为build
脚本只是监视更改并阻止执行任何其他操作。我的目标是有一个脚本,可以监视更改并在发生更改时重新启动服务器(事先编译代码),如Meteor
中所示。
答案 0 :(得分:0)
一个选项是使用ParallelShell模块并行运行shell命令。您可以找到如何使用它的示例here
答案 1 :(得分:0)
最简单的解决方案是yarn run build & micro
(注意单&
而非&&
)。
正如其他人所说,parallelshell是另一个好的黑客(probably more robust而不是&
)。