npm敲到一半的時候發現:這個到底是-g呢還是--save還是--save-dev呢
1.首先要先了解package.json
在Node.js中,模塊是一個庫或框架,也是一個Node.js項目。Node.js項目遵循模塊化的架構,當我們創建了一個Node.js項目,意味着創建了一個模塊,這個模塊的描述文件,被稱為package.json。
2.什么是npm
npm 是一個包管理器,它讓 JavaScript 開發者分享、復用代碼更方便。
在程序開發中我們常常需要依賴別人提供的框架,亦或是方法庫,寫 JS 也不例外。這些可以重復的框架代碼被稱作包(package)或者模塊(module),一個包可以是一個文件夾里放着幾個文件,而這些文件就存放在package.json 。
3.如何生成package.json
$ npm init //項目初始化 $ npm init -y //快速生成package.json { "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目錄中
---沒有package.json 還怎么開開心心的 clone呢
---npm i 插件 --save-dev(-D) ,安裝到開發依賴中,項目上線之后不會用到的插件,例如'babel-loader',項目解析完發布
---自動更改package.json 寫入devDependencies 節點
dependencies(運行依賴)
也就是我們項目運行上線還會使用的插件 比如webpack axios vant Element UI框架
devDependencies(開發依賴)
也就是幫助開發的插件 比如babel live-server lodash loader類似的