npm敲到一半的時候發現:誒 這個究竟是-g呢仍是--save仍是--save-dev呢html
1.首先要先了解package.jsonvue
在Node.js中,模塊是一個庫或框架,也是一個Node.js項目。Node.js項目遵循模塊化的架構,當咱們建立了一個Node.js項目,意味着建立了一個模塊,這個模塊的描述文件,被稱爲package.json。node
2.什麼是npmwebpack
npm 是一個包管理器,它讓 JavaScript 開發者分享、複用代碼更方便。ios
在程序開發中咱們經常須要依賴別人提供的框架,亦或是方法庫,寫 JS 也不例外。這些能夠重複的框架代碼被稱做包(package)或者模塊(module),一個包能夠是一個文件夾裏放着幾個文件,而這些文件就存放在package.json 。web
3.如何生成package.jsonvue-cli
$ npm init //項目初始化npm
$ npm init -y //快速生成package.jsonjson
{axios
"name": "vue-cli",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"vue": "^2.5.17"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
name -- 包名.
version -- 包的版本號。
description - -包的描述。
author - -包的做者
dependencies / devDependencies -- 生產/開發環境依賴包列表。它們將會被安裝在 node_module 目錄下。
main - -main 字段指定了程序的主入口文件
license--受權
有興趣的能夠去了解一下package屬性 此處爲快速搭建
4. --save與 --save -dev的區別
---npm i 插件 ,會把插件安裝到node_modules目錄中,不會修改package.json,
---npm i 插件 --save (-S) ,項目發佈上線以後還會依賴用到的插件,沒有這些插件,項目不能運行
---自動更改package.json 寫入dependencies 節點
---npm i 插件 -g是不會更改package中的內容 可是能夠存在node_modules目錄中
---npm i 插件 --save-dev(-D) ,安裝到開發依賴中,項目上線以後不會用到的插件,例如'babel-loader',項目解析完發佈
---自動更改package.json 寫入devDependencies 節點
dependencies(運行依賴)
也就是咱們項目運行上線還會使用的插件 好比webpack axios vant Element UI框架
devDependencies(開發依賴)
也就是幫助開發的插件 好比babel live-server lodash loader相似的
原文出處:https://www.cnblogs.com/ranyonsue/p/10826906.html