我无法理解脚本在package.json
&我很欣赏对新手的一些见解。
它们是由加载了各种bash
的节点运行的dependencies
个脚本吗?
如果是,那么它如何处理javascript代码?
答案 0 :(得分:3)
它们是bash脚本的情况
是
由节点
运行
不,它们由sh
运行。
加载了各种依赖项?
不,没有加载任何js文件,npm
唯一能为你做的就是prepare the environment。除此之外,它还将./node_modules/.bin
添加到PATH
,以便您可以立即调用已安装的模块。
当您运行npm run-script whatever
时,这就是npm
所做的事情:
package.json
sh
(或comspec
)并给它命令和env。这里没什么大不了的。答案 1 :(得分:0)
这可能不是100%准确,所以我恳请其他更有资格的专家加入。
NPM是一个程序,作为Node.JS环境的一部分安装。它的两个主要用途(如描述here)用于搜索node.js包和安装node.js包。
然而,NPM还能够理解“简单”(相对术语)脚本。
当您在package.json中编写脚本并发出NPM命令时,请说“npm start”,NPM将读取并解释该脚本。然后,NPM在您的node_modules结构中搜索附带的二进制文件,并使用必要的启动参数执行该二进制文件。
一个例子是
"test": "mocha --reporter spec test"
当您发出“npm test”时,NPM将在您的node_modules结构中查找mocha二进制文件。 NPM发现mocha启动调用,传递报告命令arg(--reporter spec)以及要为测试读取和执行的文件名。