一、初步理解
1. npm安裝package.json時 直接轉到當前項目目錄下用命令npm install 或npm install --save-dev安裝即可,自動將package.json中的模塊安裝到node-modules文件夾下
2. package.json 中添加中文注釋會編譯出錯
3. 每個項目的根目錄下面,一般都有一個package.json文件,定義了這個項目所需要的各種模塊,以及項目的配置信息(比如名稱、版本、許可證等元數據)。npm install 命令根據這個配置文件,自動下載所需的模塊,也就是配置項目所需的運行和開發環境。
4. package.json文件可以手工編寫,也可以使用npm init命令自動生成。
二、package.json文件配置詳解
1.下面是最簡單的的一個package.json 文件(只有兩個數據,項目名稱和項目版本,他們都是必須的,如果沒有就無法install)
{
"name": "reactdemo", //項目名稱
"version": "1.0.0", //version是版本(遵守“大版本.次要版本.小版本”的格式) }
2.scripts
"scripts": {// scripts指定了運行腳本命令的npm命令行縮寫,比比如start指定了運行npm run start時,所要執行的命令。
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
3 dependencies,devDependencies
dependencies和devDependencies兩項,分別指定了項目運行所依賴的模塊、項目開發所需要的模塊。它們都指向一個對象,該對象的各個成員,分別由模塊名和對應的版本要去組成,表示依賴的模塊及其版本范圍
--save參數表示將該模塊寫入dependencies屬性,
--save-dev表示將該模塊寫入devDependencies屬性。
"dependencies": {//字段指定了項目運行所依賴的模塊
"antd-mobile": "^2.1.1",
"babel-polyfill": "6.23.0",
"babel-runtime": "^6.22.0",
"rc-form": "^1.3.0",
"react": "15.4.2",
"react-dom": "15.4.2",
"react-height": "^3.0.0",
"react-router": "2.8.1",
"react-svg-use": "^2.1.0",
"whatwg-fetch": "^2.0.1"
},
"devDependencies": {//指定項目開發所需要的模塊
"babel-eslint": "^7.1.1",
"babel-plugin-dva-hmr": "^0.3.2",
"babel-plugin-import": "^1.1.0",
"babel-plugin-transform-runtime": "^6.22.0",
"eslint": "^3.14.0",
"eslint-config-airbnb": "^14.0.0",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jsx-a11y": "^3.0.2",
"eslint-plugin-react": "^6.9.0",
"expect": "^1.20.2",
"html-webpack-plugin": "^2.28.0",
"husky": "^0.13.0",
"less-vars-to-js": "^1.1.2",
"postcss-pxtorem": "^4.0.0",
"qrcode.react": "^0.7.1",
"react-helmet": "^5.1.3",
"redbox-react": "^1.3.2",
"roadhog": "0.6.0",
"svg-sprite-loader": "^2.0.5",
"webpack": "^1.14.0"
},
