【HZHV】从0到1阅读Vue@0.6.0源码——package.json文件

vue@0.6.0

package.json源码

{
  "name": "vue",
  "version": "0.6.0",
  "author": {
    "name": "Evan You",
    "email": "yyx990803@gmail.com",
    "url": "http://evanyou.me"
  },
  "license": "MIT",
  "description": "A mini front-end MVVM framework",
  "keywords": [
    "mvvm",
    "browser",
    "framework"
  ],
  "main": "src/main.js",
  "repository": {
    "type": "git",
    "url": "https://github.com/yyx990803/vue.git"
  },
  "scripts": {
    "test": "grunt test"
  },
  "devDependencies": {
    "grunt": "~0.4.2",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-component-build": "~0.4.1",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-uglify": "~0.2.7",
    "grunt-mocha": "~0.4.6",
    "jscoverage": "~0.3.8",
    "jshint-stylish": "0.1.3",
    "semver": "~2.2.1"
  },
  "__npminstall_done": true,
  "_from": "vue@0.6.0",
  "_resolved": "https://registry.npmmirror.com/vue/-/vue-0.6.0.tgz"
}

介绍

package.json 是npm init命令初始化后,在项目的根目录下自动生成配置文件,它定义了这个项目的配置信息(比如名称、版本、许可证等元数据)以及所需要的各种模块。npm install命令根据这个配置文件自动下载所需的模块,也就是配置项目所需的运行和开发环境。

字段含义

1.name

package的名称。不过需要注意的是,name有长度限制(虽然一般都不会超),而且name不能以 【点】 或者 【下划线】开头,name中不能有大写字母。这个是每一个package必须的。在业务代码中,通过require(${name})就可以引入对应的程序包了。

2.version

package的版本。对于业务项目来说,这个往往不太重要,但是如果你要发布自己的项目,这个就显得十分重要了。name和version共同决定了唯一一份代码。npm是用[npm-semver来解析版本号的。我们一般见到的都是大版本.次要版本.小版本这种版本号,比如16.1.0。

3.description

包的描述。开发组件库时必需,简明的向库的使用者介绍这个库是干嘛的。对于公司的业务项目,这个配置项一般无所谓。

4.author

项目的作者。可以为字符串,对象。

5.license

开源协议。对于开源组件库,这个十分重要。

6.repository

对于组件库很有用。让组件库使用者找到你的代码库地址。这个配置项会直接在组件库的npm首页生效

7.keywords

关键词。一个字符串数组,对这个npm包的介绍。组件库必需,便于使用者在npm中搜索。对于公司业务项目,这个配置一般无所谓。

8.files

数组。表示代码包下载安装完成时包括的所有文件

9.main

代码入口。这个十分重要,特别是对于组件库。当你想在node_modules中修改你使用的某个组件库的代码时,首先在node_modules中找到这个组件库,第一眼就是要看这个main,找到组件库的入口文件在这个入口文件中再去修改代码吧。

browser 环境和 node 环境均可使用。

模块引入方法require()在引入包时,会优先检查这个字段,并将其作为包中其余模块的入口。如果不存在这个字段,require()方法会查找包目录下的 index.js , index.node , index.json 文件作为认入口。

10.scripts

指定了运行脚本命令的npm命令行缩写。十分重要。

脚本说明对象。它主要被包管理器用来安装,编译,测试和卸载包。

在命令行输入:npm run dev , 对应的命令就会被执行。这里有一个地方需要注意,当执行npm run xxx 的时候,node_modules/.bin/目录会在运行时被加入系统的PATH变量。

上面的例子,当我们在命令行输入:npm run build时,其实真正执行的命令是node_modules/.bin/webpack而不是webpack。所以,当你的webpack并未全局安装时,直接在命令行输入:webpack是会报错的。因为你的webapck是安装在node_modules/.bin/下面的。

11.devDependencies

项目的依赖。通过npm run install --save-dev安装的包会出现在这里。主要是在开发过程中依赖的一些工具。用法与dependencies相似

12.browser

定义 npm 包在 browser 环境下的入口文件

13.__npminstall_done

14._from

15._resolved

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...