我最近开始使用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)做的一切。
您的回答将不胜感激。
提前感谢!
答案 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建造什么让你质疑它的用法?