天天看点

npm install 那些事儿

npm install、npm install --save与npm install --save-dev区别

    • npm install X:
    • npm install X –save:
    • npm install X –save-dev:

npm install X:

会把X包安装到node_modules目录中

不会修改package.json

之后运行npm install命令时,不会自动安装X

npm install X –save:

会把X包安装到node_modules目录中

会在package.json的dependencies属性下添加X

之后运行npm install命令时,会自动安装X到node_modules目录中

之后运行npm install

–production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中

npm install X –save-dev:

会把X包安装到node_modules目录中

会在package.json的devDependencies属性下添加X

之后运行npm install命令时,会自动安装X到node_modules目录中

之后运行npm install

–production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中

使用原则:

运行时需要用到的包使用–save,否则使用–save-dev。

package.json中dependencies和devDependencies的部分都会被安装,
区别在于前者用于生产环境,后者用于开发环境
-g 表示全局安装,通常用于安装脚手架等工具
–save(-s) 表示本地安装,会被加至dependencies部分
–save-dev 表示本地安装,会被加至devDependencies部分
什么都不加也会安装,但是不会加至package.json中

           
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(
在模块根目录下npm install module-name),然后连同版本号手动将
他们添加到模块配置文件package.json中的依赖里(dependencies)
           
-save和save-dev可以省掉你手动修改package.json文件的步骤。 
npm install module-name -save 自动把模块和版本号添加到dependencies部分(生产环境) 
           
"dependencies": {
    "gulp-install": "^0.6.0"
  }
           
npm install module-name -save-dve 自动把模块和版本号添加到devDependencies
部分(开发环境) 
           
"devDependencies": {
    "del": "^2.2.2",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^3.1.0",
    "gulp-cached": "^1.1.0",
    "gulp-changed": "^1.3.0",
    "gulp-clean": "^0.3.2",
    "gulp-concat": "^2.6.1",
    "gulp-cssnano": "^2.1.2",
    "gulp-if": "^2.0.1",
    "gulp-imagemin": "^3.1.1",
    "gulp-install": "^0.6.0",
    "gulp-jshint": "^2.0.4",
    "gulp-livereload": "^3.8.1",
    "gulp-load-plugins": "^1.5.0",
    "gulp-notify": "^2.2.0",
    "gulp-plumber": "^1.1.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^3.1.0",
    "gulp-sass-inheritance": "^0.5.1",
    "gulp-sourcemaps": "^1.6.0",
    "gulp-uglify": "^2.0.1",
    "inheritance": "^0.2.1",
    "jshint": "^2.9.4",
    "path": "^0.12.7"
  }
           

通过这些命令,我们会得到一个新的package.json。假如:删除node_modules目录,然后执行

npm install --production

,可以看到,npm只帮我们自动安装package.json中dependencies部分的模块;如果执行npm install ,则package.json中指定的dependencies和devDependencies都会被自动安装进来。

继续阅读