package.json学习
dependencies
devDependencies
- 存放开发环境所要用到的包名及其版本依赖
- 版本符号说明:
- ^ 表示安装主版本的最高版本,如:'3.0.0'表示安装以'3'开头的最高版本
- ~ 表示安装次版本的最高版本,如:'3.1.0'表示安装以’3.1'开头的最高版本
scripts
- 存放脚本命令
- 一些特殊的命令运行时可以省略“run”,如start,test
- 并行运行多个命令时可用符号”&“连接,按顺序运行多个命令可用符号”&&“连接(Linux知识)
访问package.json中的字段
- 如有自定义字段:
"config": { "env": "production" }
- 在脚本里访问config.env的值:
"$npm_package_config_env"
- 在js代码里访问config.env的值:
process.env.npm_package_config_env
变量的设置
- 在运行一些命令之前可以设置一些变量及值
- 如:
"start:dev": "NODE_ENV=production node ./app.js",此时在app.js内可以通过process.env.NODE_ENV访问到值”production“
- 设置变量时可能会在windows平台出现兼容问题,如访问的值不准确或访问出错等。此时需要安装一个开发环境的依赖
cross-env,这个包用来兼容各个平台;此时的命令应该为:"start:dev": "cross-env NODE_ENV=production node ./app.js"