package.json 了解了解

本来在看webpack配置的时候,发现里面有一些package.json的东西不太眼熟,就顺道去隔壁nodejs了解了下package.json。

这里主要介绍了一些npm操作包,以及package.json的属性、作用的介绍。

本着以自己的理解,参考网上大佬的资料和说明。了解了解


npm 是一个包管理器。

npm的安装与更新

npm 是依附与node.js的,我们下载好node.js,npm就自动安装好了。

node -v

//打印:v8.x.x

npm -v

//打印:5.x.x

npm更新也很方便和简单,直接使用命令更新

npm install npm -g

-g 表示全局安装

package.json文件

package.json 用于管理本地安装npm包。一般有如下作用: 

1. 作为一个描述文件,描述项目依赖哪些包 

2. 让构建更好地与其他开发者分享,便于重复使用

package.json创建 

使用npm init即可在当前目录创建一个package.json文件。

npm init

创建package.json的时候,一般会让填写一些基础属性的信息,比如名称版本等。此时可以用过npm init --yes 跳过填写直接创建默认名称。

package.json内容介绍 

package.json至少会包含两部分内容: 

1. name 名称。要求全部小写,无空格,可以使用下划线或横线 

2. version 格式要求为x.x.x ,并且负荷'语义化版本规则'

其他内容:

description: 描述信息

main: 入口文件。一般是index.js

scripts: 支持脚本,默认一个空的test

keywords: 关键字,有助于使用npm search时发现你的项目

author: 作者信息

license: 默认是MIT

bugs: 当前项目的一些错误信息

使用npm init来设置一些默认值

npm set init.author.name "chl"

npm set init.author.email "[email protected]"

指定依赖包 

在package.json中指定项目依赖的包,然后用npm install将这些包下载下来。

包的依赖方式有两种: 

1. dependencies: 在生产环境中徐要用到的依赖 

2. devDependencies: 在开发、测试环境中用到的依赖

{

    "devDependencies": {

        "webpack": "^4.10.2",

        "webpack-cli": "^3.0.1",

        "webpack-dev-server": "^3.1.4"

    },

    "dependencies": {

        "vue": "^2.5.16"

    }

}   

npm install PackageName 安装"dependencies"模式的包 

npm install PackageName --save-dev 安装"devDependencies"模式的包

Semantic versioning(语义化版本规则) 

npm的"Semantic versioning",简称"Semver"(会不会有人拿这个名称来做面试坑人呢=_=),中文名称就叫"语义化版本规则"。 

那么具体指啥呢?比如我们在package.json中的dependencies的内容,有些是"xx": "^3.3.1",这里的^或者*等这种,就是这东西。

使用案例:建设我们依赖一个包的当前版本是1.0.4

如果只打算接受补丁版本更新(最后一位改变),写法可以如下:

"xx": "1.0"

"xx": "1.0.x"

"xx": "~1.0.4"

如果接受小版本更新(第二位改变),写法如下:

"xx": "1"

"xx": "1.x"

"xx": "^1.0.4"

如果接受大版本更新

"xx": *

"xx": x

package安装 

使用npm install默认会安装package.json中dependencies和devDependencies里所有的内容。

如果指向安装dependencies中的内容,可以使用--production

npm install --production

安装指定版本的package 

npm install默认会安装最新版本,可以使用如下方式安装指定版本的包

npm install [email protected]

//或

npm install xx@">=2.1.3 <2.1.8"

更新package 

查看包是否有新版本

npm outdated xx

//若无则不打印

如果有新版本的包,可以使用update更新

npm update xx

下载后的package可以在node_module文件夹中找到,在Node.js项目中,可以用require(xx)来使用

你可能感兴趣的:(package.json 了解了解)