每次我想编译我的项目时,我都需要 运行 命令 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 的文件。该文件负责跟踪项目的依赖项。所以每次都要安装#.
我目前在一家大公司做项目,根据我正在做的项目,每次我想快速启动应用程序,我都需要先运行命令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 的文件。该文件负责跟踪项目的依赖项。所以每次都要安装#.