如何运行手表'脚本以及' start'我的node.js项目中的脚本

时间:2018-03-11 03:31:27

标签: node.js ecmascript-6 microservices

我正在编写一个由微服务组成的应用程序(我使用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中所示。

2 个答案:

答案 0 :(得分:0)

一个选项是使用ParallelShell模块并行运行shell命令。您可以找到如何使用它的示例here

答案 1 :(得分:0)

最简单的解决方案是yarn run build & micro(注意单&而非&&)。

正如其他人所说,parallelshell是另一个好的黑客(probably more robust而不是&)。