package.json学习

287 阅读1分钟

dependencies

  • 存放生产环境所要用到的包名及其版本依赖

devDependencies

  • 存放开发环境所要用到的包名及其版本依赖
  • 版本符号说明:
    1. ^ 表示安装主版本的最高版本,如:'3.0.0'表示安装以'3'开头的最高版本
    2. ~ 表示安装次版本的最高版本,如:'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"