package.json 文件 实例

{
  "name": "systemName",
  "version": "1.0.0",
  "description": "系统描述",
  "author": "天马行空",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run e2e",
    "build": "node build/build.js"
  },
  "dependencies": {
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-loader": "^7.1.1",
    "webpack-dev-server": "^2.9.1",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

字段描述

scripts字段

scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

下面的设置指定了npm run preinstallnpm run postinstallnpm run startnpm run test时,所要执行的命令。

"scripts": {"preinstall": "echo here it comes!","postinstall": "echo there it goes!","start": "node index.js","test": "tap test/*.js"
}

dependencies字段

dependencies字段指定了项目运行所依赖的模块

devDependencies字段

devDependencies指定项目开发所需要的模块。

它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。

{"devDependencies": {"browserify": "~13.0.0","karma-browserify": "~5.0.1"}
}

注:通过

$ npm install

命令可以根据package.json 所依赖的模块。

bin字段

bin项用来指定各个内部命令对应的可执行文件的位置。

"bin": {"someTool": "./bin/someTool.js"
}

上面代码指定,someTool 命令对应的可执行文件为 bin 子目录下的 someTool.js。Npm会寻找这个文件,在node_modules/.bin/目录下建立符号链接。在上面的例子中,someTool.js会建立符号链接npm_modules/.bin/someTool。由于node_modules/.bin/目录会在运行时加入系统的PATH变量,因此在运行npm时,就可以不带路径,直接通过命令来调用这些脚本。

因此,像下面这样的写法可以采用简写。


scripts: {  start: './node_modules/someTool/someTool.js build'
}// 简写为scripts: {  start: 'someTool build'
}

所有node_modules/.bin/目录下的命令,都可以用npm run [命令]的格式运行。在命令行下,键入npm run,然后按tab键,就会显示所有可以使用的命令。

main字段

main字段指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js

config 字段

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

下面是一个package.json文件。

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

然后,在server.js脚本就可以引用config字段的值。

http.createServer(...).listen(process.env.npm_package_config_port)

用户执行npm run start命令时,这个脚本就可以得到值。

$ npm run start

package.json 文件详解相关推荐

  1. package.json文件详解

    目录 前言 一.package.json 文件作用 二.package.json 文件创建 三.package.json 文件示例 四.package.json 文件配置说明 前言 随着前端由多页面到 ...

  2. package.json字段详解

    本文主要介绍常见package.json字段的含义. {//发布时候的包名 @xxx是代表范围包"name": "@xxx/package",//发布时候的包版 ...

  3. 数据分析JSON板块的基本使用(以分析比特币收盘价为例),附完整的Python代码及json文件详解---数据可视化

    目录 一.前提准备 二.将收盘价用可视化图表示出来 上代码 运行结果 三.进行时间序列分析 上代码 运行结果 四.收盘价均值 月日均值 周日均值 星期均值 五.数据仪盘表 一.前提准备 btc_clo ...

  4. Chrome插件manifest.json文件详解

    开发Chrome插件首先就是配置manifest.json文件了,利用它我们可以定义在什么时机以及在什么网页执行什么脚本,有一些什么行为,下面我一起来看看这个文件有哪些配置项以及有什么作用: {// ...

  5. gitbook中book.json文件详解

    JSON文件 {"title": "demo",//标题"description": "demo",//文档描述&quo ...

  6. android json格式解析,android之解析json数据格式详解

    1.JSON解析 (1).解析Object之一: 解析方法: 1 JSONObject demoJson =newJSONObject(jsonString); 2 String url = demo ...

  7. VScode 插件中 package.json 文件字段详解

    一.package.json文件内容 {// 插件的名字,应全部小写,不能有空格: string"name": "my-vscode-plugin",// 版本 ...

  8. vue-cli脚手架中webpack配置基础文件详解

    一.前言 vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wepack的项目模板.这其中webpack发挥了很大的作用,它使得我们的代码模块化,引入一些插件帮 ...

  9. vscode中setting.json配置详解

    vscode中的setting.json配置文件配置详解 话不多说上配置文件 大家按需复制到自己的setting.json配置文件中即可 [{// 控制是否在编辑器中显示 CodeLens." ...

  10. vue-cli生成的模板各个文件详解(转)

    vue-cli脚手架中webpack配置基础文件详解 一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架 ...

最新文章

  1. mac本地搭建kafka
  2. java接口是类型吗_JAVA中,接口到底是不是类
  3. NVIDIA Jetson Xavier NX安装torch和torchvision
  4. Spark分区与并行度
  5. 最新的Windows phone Developer tools RTW 发布了
  6. Sinclair 的ZX Spectrum 年逾三十
  7. 接口的mime类型ajax,Ajax的原生实现关于MIME类型的使用方法
  8. springboot旅游景区景点购票系统毕业设计毕设作品开题报告开题答辩PPT
  9. buu逆向刷题(三)
  10. 国庆回家记之2017
  11. PHP笔记——开发工具VS Code
  12. 月浅灯深,梦里jar包何处寻
  13. 老司机 iOS 周报 #65 | 2019-04-29
  14. java的整数类型_java整数类型
  15. 【linux】持续集成与持续发布CICD
  16. USB转TTL、USB转串口、USB转232的区别(转)
  17. 【每日一题Day35】LC878第N个神奇数字 | 二分查找 找规律 + 数学
  18. C语言for循环语句及嵌套(误区,易错点要理解)
  19. 转 js+cookie 购物车
  20. 淘宝阿里妈妈拉新政策解读及淘客基地春节前更新上线预告!

热门文章

  1. 暴走欧洲之旅行的经验杂记
  2. java---集合类---ArrayList类
  3. MyExcel 3.9.8 版本发布
  4. 《计算机网络 自顶向下方法》读书笔记(三)
  5. Eclipse WindowBuilder安装过程
  6. 北京航空航天大学计算机学院院长,胡勇 中文主页 北京航空航天大学教师个人主页系统...
  7. 四咪唑基四苯乙烯,四苯基吡嗪(tetraphenylpyrazine,TPP)
  8. Python 网络爬虫实现 QQ 音乐下载
  9. 看柏林是如何进行轨道与常规公交规划的?
  10. Windows 10 支持AAC编码的方法