npm install --save-dev gulp-uglify和npm install gulp-uglify有什么不同?(涉及it技术)

3
我对npm安装过程感到困惑。据我所知,在安装模块时有一些不同的选项:
  • -g选项是全局存储模块
  • --save-dev
  • 没有参数
请问有人能解释一下它们的区别吗?特别是当我使用-g(全局)安装后,再在本地进行另一个安装,它会从我全局保存的位置获取这些模块吗?
另外,“--save”是什么意思:“包将出现在你的依赖关系中。”
它指的是哪些依赖关系呢?
2个回答

4

好的,问题是:

  1. 如果你只想在本地安装依赖库,则运行:npm install gulp-uglify,它将创建一个名为node_modules的文件夹,在其中您将找到所需的模块。
  2. 如果您想要全局安装包,则必须运行:npm install -g gulp-uglify,它将在您的操作系统上分配该包,并且您可以在任何地方使用它(不仅限于该文件夹)。
  3. 选项--save-dev(即npm install --save-dev gulp-uglify)还将更新您的package.json文件,并将其添加为开发人员依赖项,这是您的应用程序清单。这意味着,在该文件中,您已声明了项目所需的所有依赖项,只需运行npm install即可安装它们。要创建package.json文件,您必须运行npm init

更多信息可以在此处查找。或者参考这篇文章。 希望能帮到您!


2

-g可以将模块安装到全局node_modules目录中,这些模块可以从任何目录访问(因此是全局的)

--save-dev会更新您的package.json文件,将该模块包含为开发依赖项。这些依赖项将下载到本地node_modules目录中。

没有save参数会更新您的package.json文件,将该模块包含为依赖项。这些依赖项也将下载到本地node_modules目录中。

devDependencies和dependencies在某人想要安装您的项目(通过npm install)时具有影响。例如,npm install将安装所有依赖项和devDependencies。npm install --production不会安装devDependencies。

因此,当导入的节点模块用于开发目的而不是运行时(例如,使用jshint进行构建)时,应使用--save-dev。需要运行应用程序的模块不应使用--save-dev开关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接