使用npm over shell程序(Bash)的优点

时间:2015-10-06 17:17:09

标签: bash shell npm

我最近开始使用npm(https://www.npmjs.com),我们可以使用npm作为构建工具。但经过深入挖掘后,我心里就有了疑问。

作为构建工具,npm几乎就像shell程序(sh或bash),因为我们只是在npm package.json文件中执行shell命令。甚至有时我们会从中执行shell程序。

编辑:这是我如何使用它的一个例子。

的package.json

{   " name":" myproject",   " devDependencies":{     " jshint":"最新",     "缩小":"最新",     " mocha":"最新"   },   "脚本":{     " lint":" jshint **。js",     "测试":" mocha test /",     "缩小":"缩小* .js",     " build":" npm run lint&& npm run test&& npm run minify"   } }

所以,我们用npm捆绑工具做的一切,我们可以通过编写正常的shell程序(sh或bash)来实现。我想知道npm比nprmal shell程序有什么特别的优点。我们可以用shell脚本做什么,我们可以用npm作为构建工具来实现。

开发工具背后必定有一些特殊的视野。否则我们可以用shell程序(Makefile)做的一切。

您的回答将不胜感激。

提前感谢!

1 个答案:

答案 0 :(得分:-1)

Npm作为构建工具:你的意思是npm scripts feature吗?或者像Grunt或Gulp这样的东西?

Npm本身只是JavaScript(Node)包的包生态系统。贝壳是贝壳。您可以使用shell(Bash,C,Python,PHP等)运行任何可以创建shell程序。我认为你的意思是你的问题中的 sh bash 等shell语言。

如果您开发Node或浏览器应用程序,或使用Gulp,Grunt,Fly,npm脚本等工具,那么npm是一个很好的(强制性)选择。

如果您需要为自定义或低于常规应用程序的内容创建构建过程,那么自定义shell构建器或Makefiles可能更适合。虽然有些人似乎在npm的地方使用Makefile,而像Gulp这样的构建工具将是一个更简单的选择。

你现在用npm建造什么让你质疑它的用法?