一、初步理解
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" },