说一下这个【基础】package.json文件详解

随着前端由多页面到单页面,由零散的文件到模块化开发,Node为前端工程化,模块化注入了新鲜的血液,在一个完整的模块化开发项目中,package.json 文件无处不在。这个文件主要是做什么、有什么用,今天就详细讲解下。

1.作用

每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息。

2.创建

package.json 文件创建有两种方式,手动创建或者自动创建。

手动创建:直接在项目根目录新建一个 package.json 文件,然后输入相关的内容。

自动创建:在项目根目录下执行 npm init,然后根据提示一步步输入相应的内容完成后即可自动创建。

3.示例

{
    "name": "Hello World",
    "version": "0.0.1",
    "author": "张三",
    "description": "第一个node.js程序",
    "keywords":["node.js","javascript"],
    "repository": {
        "type": "git",
        "url": "https://path/to/url"
    },
    "license":"MIT",
    "engines": {"node": "0.10.x"},
    "bugs":{"url":"http://github.com","email":"[email protected]"},
    "contributors":[{"name":"李四","email":"[email protected]"}],
    "scripts": {
        "start": "node index.js"
    },
    "dependencies": {
        "express": "latest",
        "mongoose": "~3.8.3",
        "MD5": "^1.2.0"
    },
    "devDependencies": {
        "bower": "1.2.8",
        "grunt": "~0.4.1",
        "browserify": "^2.36.1",
    }
}

4.字段说明

name                # 名称
version             # 版本
author              # 作者
description         # 描述
keywords            # 关键字
repository          # Git仓库所在位置
license             # 开源协议
engines             # 所需要的node.js版本
bugs                # bug地址
contributors        # 贡献者
scripts             # 脚本
dependencies        # 生产环境下,项目运行所需依赖。
devDependencies     # 开发环境下,项目所需依赖

5.版本号

可能很多人注意到了,dependencies和devDependencies依赖包的前面会有~或者^等符号的区别,主要讲解下比较常见的,npm模块的完整的版本号一般是【主版本 . 次要版本 . 补丁版本】

主版本          修复bug,兼容老版本

次要版本        新增功能,兼容老版本

补丁版本        新的架构调整,不兼容老版本

1 使用~

安装时不改变大版本号和次要版本号。比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x。

2 使用^

安装时不改变大版本号。比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x。

3 不使用任何符号-指点版本

安装时只安装指定版本。比如1.2.2,只能安装1.2.2。

正文完