每次要编译项目时,是否都需要运行命令npm install?

Moh*_*ain 3 node.js npm-install

我目前正在一家大公司的一个项目上工作,根据我正在处理的项目,每次我想快速启动该应用程序时,都需要先运行命令npm install,然后再运行所有其他编译指令,但是问题是运行npm install会花费很长时间,这就是为什么我想知道是否每次我更改代码然后想要编译并运行它时都必须运行此命令。

到底是npm install做什么的?如果您可以根据我们如何编译和运行Java代码(即javac bob.java&&)java bob并在此基础上进行类比来向我解释,那将极大地帮助我理解该概念。我目前正在考虑的方式就是npm install这种运行方式,例如javac运行方式,但是我不确定这是否正确。提前致谢!

vir*_*_os 5

NPM安装

npm install只需读取您的package.json文件,(通常)从那里获取列出的软件包https://www.npmjs.com/,有时还要进行这些软件包的构建步骤。

因此,只有npm install在更改package.json文件时才需要运行,并且需要获取新的依赖项。

请记住,npm install --save <packagename>(或npm install -S <packagename>)将更新您的内容package.jsonnpm install全部一行运行!

您可以查看npm installinside 的结果./node_modules/

与Java比较

如果您想完成工作,这可能是有用的资源:Java开发人员的Node.js入门

与Java不同,Javascript不是编译语言。当调用javac时,Java的 Ç ompiler读取所有的.java文件,将其编译为Java字节码,然后将它们写入.class文件,然后可以捆绑在一起成.jar执行。

Javascript不会执行任何操作!当您调用时node foo.jsnode可执行文件将被唤醒,读取foo.js并开始逐行调用**。Node还可以做其他一些很酷的事情,包括维护事件循环(允许它“异步”运行,并使其作为Web服务器非常高效)-它不停地等待请求完成,而是继续执行。队列中的下一个事件。

Node还执行JIT和优化,这些细节使它可以提高它注意到正在“热”运行的部分代码的性能。

还要注意,它node.js使用V8 javascript引擎(也在Google Chrome中使用)。实际上,我上面所说的所有内容都是由V8处理的。

(**从技术上讲,有一个语法检查器会在执行之前先运行。但这不是编译步骤!)