package.json文件

每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
package.json文件就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。

scripts字段

scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。
可以扩展不同的环境变量
例如react,需要npm install npm-run-all --save-dev

  "scripts": {
    "201": "npm-run-all build-css build-201",
    "build-css": "less-watch-compiler --run-once src src",
    "watch-css": "npm run build-css && less-watch-compiler src src",
    "start-js": "node scripts/start.js",
    "start": "npm-run-all -p watch-css start-js",
    "build": "npm-run-all build-css build-js",
    "build-js": "cross-env NODE_ENV=production node scripts/build.js",
    "build-201": "cross-env NODE_ENV=201 node scripts/build.js",
    "s": "npm-run-all start",
    "b": "npm-run-all build",
    "new": "node mode/config",
    "test": "node scripts/test.js --env=jsdom"
  },

例如vue配置,以下配置中有在项目运用过的。需要npm install cross-env --save-dev。可以分别直接执行npm run 201、npm run build、npm run dev(起项目)

  "scripts": {
    "201": "node build/201.js ",
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "cross-env NODE_ENV=production node build/build.js",
    "build:report": "npm_config_report=true npm run build",
    "lint": "eslint --ext .js,.vue src",
    "test": "npm run lint"
  },
  //或者
  "scripts": {
    "201": "vue-cli-service build --mode 201",
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

或者nuxt

  "scripts": {
    "201": "cross-env test=true nuxt build",
    "dev": "cross-env test=true nuxt",
    "dev-201": "cross-env test=true nuxt",
    "build": "cross-env test=false nuxt build",
    "start": "cross-env test=false nuxt start",
    "generate": "cross-env test=true nuxt generate",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
    "precommit": "npm run lint"
  },

dependencies字段,devDependencies字段

dependencies字段指定了项目运行所依赖的模块,devDependencies指定项目开发所需要的模块。

peerDependencies

有时,你的项目和所依赖的模块,都会同时依赖另一个模块,但是所依赖的版本不一样。比如,你的项目依赖A模块和B模块的1.0版,而A模块本身又依赖B模块的2.0版。

大多数情况下,这不构成问题,B模块的两个版本可以并存,同时运行。但是,有一种情况,会出现问题,就是这种依赖关系将暴露给用户。

最典型的场景就是插件,比如A模块是B模块的插件。用户安装的B模块是1.0版本,但是A插件只能和2.0版本的B模块一起使用。这时,用户要是将1.0版本的B的实例传给A,就会出现问题。因此,需要一种机制,在模板安装的时候提醒用户,如果A和B一起安装,那么B必须是2.0模块。

config 字段

config字段用于添加命令行的环境变量。

{
  "name" : "foo",
  "config" : { "port" : "8080" },
  "scripts" : { "start" : "node server.js" }
}

另外可以配置proxy,跟《vue-cli中理不清的问题》中提到的proxyTable用法一致

 "proxy": {
   "/api": {
     "target": "http://192.168.0.201:8080",
     "secure": true,
     "changeOrigin": true,
     "pathRewrite": {
       "^/api": "/"
     }
   }
 },

改变代理服务器
使用时可以用’/api’表示"http://192.168.0.201:8080"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值