2016-04-24 72 views
3
"scripts": { 
    "build": "babel src -d lib", 
    "start": "node --use_strict ./lib/index.js", 
    "watch": "nodemon lib/index.js --exec npm run build" 
} 

使用命令npm run watch结果如下错误的命令正在运行:[nodemon] starting "npm lib/index.js run build"如何在npm脚本中使用nodemon来构建和启动脚本?

我怎么会写nodemon命令,重新加载,使用巴贝尔transpiles代码并重新加载代码?

回答

6

您可以简单地使用babel-node来运行您的代码以避免显式的转译。

$ nodemon lib/index.js --exec babel-node --presets=es2015,stage-2 

好像使用nodemonbabelthis is the recommended方式。

请注意,运行--exec可能远程运行您的development环境时,你localhost

+0

什么包,我需要安装运行通天节点? NPM说,babel-node不在存储库中,即使我已经通过npm安装了babel-cli,运行给定的命令说babel-node不可用。 – Connorelsea

+0

'babel-cli'是正确的。您应该全局安装它或将执行路径更改为'./ node_modules/.bin/babel-node'。 –

+0

我在项目中全局和本地安装了'babel-cli',并且出现以下错误。 http://i.imgur.com/UwXaPTz.jpg – Connorelsea

0

一个更好的选择将是不使用全局安装,而是使用本地安装包有意想不到的副作用。这也有助于自动化构建,可以按照每个12因子应用程序设计与本地机器设置相同的设置。

"scripts": { 
"watch": "node ./node_modules/nodemon/bin/nodemon.js" 

}

+0

可以请你解释一下。 –

+0

不是在cli中全局使用nodemon,而是使用上面的代码,您可以在npm脚本中使用--save或--save-dev,节点./node_modules/nodemon/bin/nodemon.js调用本地安装的软件包或cli cmd。还要添加我需要传递的任何参数。基本上不是使用全局标识符调用它,而是直接从解决方案结构中调用它。这有助于您的团队以及他们都将使用相同的版本,如果该软件包在一段时间内在多个工作站上全局安装,则版本很可能不同。 –