每次我想编译我的项目时,我都需要 运行 命令 npm install 吗?

Do I need to run the command npm install every time I want to compile my project?

我目前在一家大公司做项目,根据我正在做的项目,每次我想快速启动应用程序,我都需要先运行命令npm install 然后 运行 所有额外的编译指令,但问题是 运行ning npm install 可能需要很长时间,这就是为什么我想知道是否有必要运行这个命令我每次修改代码,然后想编译和运行就可以了。

npm install 究竟是做什么的?如果你能向我解释我们如何编译和 运行 java 代码,即 javac bob.java && java bob 并尝试在此基础上进行类比,那将对我有很大帮助理解这个概念。我目前的想法是 npm install 有点像 运行 就像 javac 运行 一样,但我不确定这是否正确。提前致谢!

不需要每次都编译"npm install"。当你更改项目的依赖项时,你只需要这样做。

NPM 安装

npm install 只是读取您的 package.json 文件,从(通常)https://www.npmjs.com/ 中获取其中列出的包,有时会参与这些包的构建步骤。

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

请记住,npm install --save <packagename>(或npm install -S <packagename>)将在一行中更新您的package.json和运行 npm install

您可以在 ./node_modules/ 中查看 npm install 的结果。

比较 java

如果您想完成工作,这可能是有用的资源:Getting Started with Node.js for the Java Developer

Javascript 不是编译语言,不像 java。当您调用 javac 时,java compiler 会读取您所有的 .java 文件,编译它们到 java 字节码,然后将它们写入 .class 文件,然后可以将这些文件捆绑在一起成为 .jar 以供执行。

Javascript 不会做任何这些!当您调用 node foo.js 时,node 可执行文件被唤醒,读取 foo.js,然后开始逐行调用它**。 Node 还做了其他很酷的事情,包括维护一个 event loop(这允许它运行 "asynchronously",并允许它作为一个非常高效的网络服务器——它不会坐等请求完成,它继续队列中的下一个事件。

Node also performs JIT 和优化,这些细节使其能够提高它注意到的部分代码的性能 运行ning "hot".

另请注意,node.js 使用 V8 javascript engine(也用于 Google Chrome)。实际上,我上面所说的一切都由 V8 处理。

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

NPM 基本上是节点的包管理器。它有助于安装各种软件包并解决它们的各种依赖关系。它对您的 Node 开发有很大帮助。 NPM 帮助您安装 Web 开发所需的各种模块,而不仅仅是为您提供一大堆您可能永远不需要的功能。 当您启动一个应用程序时,它会附带一个 package.json 文件。该软件包包含您需要的 node_modules 列表。每当你输入 npm install 时,你所做的就是下载 node_modules 的列表。所以是的,您必须重新下载模块。 #注意:在您的项目中,您有一个名为 package.json 的文件。该文件负责跟踪项目的依赖项。所以每次都要安装#.