一、初步理解
1. npm安装package.json时 直接转到当前项目目录下用命令npm install 或npm install --save-dev安装即可,自动将package.json中的模块安装到node-modules文件夹下
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"
},