查看当前npm配置全局安装还是本地安装
运行npm config ls查看当前配置
从红色画线处可知,当前npm配置的是本地安装,即所有install的module都将位于项目的node_modules处。
如果此处global为true,但我们又希望本地安装的话我们可以通过修改.npmrc文件的global为false(具体路径见:userconfig后面的绝对路径)
安装参数详解
命令 | 解释 |
---|---|
npm install module | 安装某个module到本地项目的node_modules,但不会把安装包的信息添加到package.json文件 |
npm install module --save | 安装某个module到本地项目的node_modules文件夹,同时把相关模块依赖添加到package.json文件的dependencies中 |
npm install module --save-dev | 安装某个module到本地项目的node_modules文件夹,同时把相关模块依赖添加到package.json文件的devDependencies |
npm install module -g | 与npm install module一样,只是module的安装是全局的 |
npm install module --save -g | 与npm install module --save一样,只是module的安装是全局的 |
npm install module --save-dev -g | 与npm install module --save-dev一样,只是module的安装是全局的 |
package.json中dependencies与devDependencies区别
属性 | 区别 |
---|---|
dependencies | 这些包都是你的应用程序在生产环境中所需要的 |
devDependencies | 这些包只是在开发和测试中需要的 |
package.json的一个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | { "name": "eladmin-web", "version": "2.4.0", "description": "EL-ADMIN 前端源码", "author": "Zheng Jie", "license": "Apache-2.0", "scripts": { "dev": "vue-cli-service serve", "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview", "lint": "eslint --ext .js,.vue src", "test:unit": "jest --clearCache && vue-cli-service test:unit", "svgo": "svgo -f src/assets/icons/svg --config=src/assets/icons/svgo.yml", "new": "plop" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "src/**/*.{js,vue}": [ "eslint --fix", "git add" ] }, "repository": { "type": "git", "url": "https://github.com/elunez/eladmin-web.git" }, "bugs": { "url": "https://github.com/elunez/eladmin/issues" }, "dependencies": { "@riophae/vue-treeselect": "0.1.0", "axios": "0.18.1", "clipboard": "2.0.4", "codemirror": "^5.49.2", "connect": "3.6.6", "echarts": "4.2.1", "echarts-gl": "^1.1.1", "echarts-wordcloud": "^1.1.3", "element-ui": "^2.12.0", "file-saver": "1.3.8", "fuse.js": "3.4.4", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", "jszip": "3.1.5", "mavon-editor": "^2.7.0", "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", "qs": "^6.9.1", "screenfull": "4.2.0", "vue": "2.6.10", "vue-count-to": "1.0.13", "vue-cropper": "0.4.9", "vue-highlightjs": "^1.3.3", "vue-router": "3.0.2", "vue-splitpane": "1.0.4", "vuex": "3.1.0", "wangeditor": ">=3.0.0", "xlsx": "^0.11.16", "js-beautify": "^1.10.2", "sortablejs": "1.8.4", "vuedraggable": "2.20.0" }, "devDependencies": { "@babel/core": "7.0.0", "@babel/register": "7.0.0", "@babel/parser": "^7.7.4", "@vue/cli-plugin-babel": "3.5.3", "@vue/cli-plugin-eslint": "^3.9.1", "@vue/cli-plugin-unit-jest": "3.5.3", "@vue/cli-service": "3.5.3", "@vue/test-utils": "1.0.0-beta.29", "autoprefixer": "^9.5.1", "babel-core": "7.0.0-bridge.0", "babel-eslint": "10.0.1", "babel-jest": "23.6.0", "chalk": "2.4.2", "chokidar": "2.1.5", "connect": "3.6.6", "eslint": "5.15.3", "eslint-plugin-vue": "5.2.2", "html-webpack-plugin": "3.2.0", "http-proxy-middleware": "^0.19.1", "husky": "1.3.1", "lint-staged": "8.1.5", "node-sass": "^4.9.0", "plop": "2.3.0", "runjs": "^4.3.2", "sass-loader": "^7.1.0", "script-ext-html-webpack-plugin": "2.1.3", "script-loader": "0.7.2", "serve-static": "^1.13.2", "svg-sprite-loader": "4.1.3", "svgo": "1.2.0", "vue-template-compiler": "2.6.10", "babel-plugin-transform-remove-console": "^6.9.4", "babel-plugin-dynamic-import-node": "2.3.0" }, "engines": { "node": ">=8.9", "npm": ">= 3.0.0" }, "browserslist": [ "> 1%", "last 2 versions" ] } |