package.json文件了解

package.json文件定义

每个项目的根目录下面,一般都配置package.json文件,该文件定义了这个项目所需要的各种模块,以及项目的配置信息,比如名称、版本、许可证等元数据。
npm install命令根据package.json文件,自动下载所需模块,也就是配置项目所需的运行和开发环境。
最简单的package.json文件,只定义两项元数据:项目名称和项目版本。
{
“name” : “xy-contract-test”,
“version” : “0.0.0”,
}

package.json文件就是JSON对象,该对象就是每一个成员就是当前项目的一项配置,name就是项目名称,version就是版本(遵循”大版本.次要版本.小版本“的格式)。

scripts字段

scripts指定了运行脚本命令的npm命令行缩写,比如start指定运行npm run start命令。
“scripts”:{
“build:pre”: “cross-env REACT_APP_ENV=pre umi build”,//打包前置环境
“build:test”: “cross-env REACT_APP_ENV=test umi build”,//打包测试环境
“build:dev_test”: “cross-env REACT_APP_ENV=dev_test umi build”,//打包dev测试环境
“start”: “cross-env REACT_APP_ENV=dev umi dev”,//运行项目},

每个项目的运行命令根据项目的配置命令不同而执行不同的命令。

dependencies字段,devDependencies字段

dependencies字段指定了项目运行所依赖的模块,devDependencies字段指定了项目开发所需要的模块。
这两个字段都指向一个对象,该对象的各个成员,分别又模块名和对应的版本要求组成,表示依赖的模块及其版本范围。

两个字段中对应的版本可以加上各种限定,主要为:
指定版本:如1.1.2,安装时只安装指定版本,
波浪号()+指定版本:如1.2.3,安装1.2.X的最新版本,不低于1.2.3,但是不安装1.3.X,安装时不改变大版本和次要版本。
插入号()+指定版本:2.2.2,安装2.X.X的最新版本,不改变大版本号,如果大版本号为0,则插入号与波浪号相同
latest:安装最新版本

package.json文件可以手工编写,也可以使用npm init命令自动生成,该命令采用互动的形式,要求用户回答一些问题,然后再当前目录生成一个基本的package.json文件。所有问题中,只有项目名称name和项目版本version是必填的,其他都是选填的。

创建package.json文件后,直接使用npm install命令,在当前目录中安装所需要的模块。如果一个模块不在该文件中,可以单独安装这个模块,并使用相应的参数,将其写入package.json文件之中。
npm install icon --save (该模块写入dependencies属性),
npm install icon --sava-dev(该模块写入devDependencies属性)

peerDependencies

peerDependencies字段,用来供插件指定其所需要的主工具的版本。从npm 3.0开始不会默认安装。

bin字段

bin项用来指定各个内部命令对应的可执行文件的位置。
例如:“bin” : { “someTool”:"./bin/someTool.js"}
该代码指定,someTool命令对应的可执行未见为bin子目录下的someTool.js。npm会寻找这个文件,在node_modules/.bin/目录下建立符号链接node_modules/.bin/someToll。所有node_modules/.bin/目录下的命令,都可以用npm run 命令的格式运行。

main字段

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

config字段

config字段用于添加命令行的环境变量
在这里插入图片描述

其他字段

1、browser字段:指定该模板供浏览器使用的版本,Browserify这样的浏览器打包工具,通过它就知道该打包哪个文件

2、engines字段:指明了该模块运行的平台,比如Node的某个版本或浏览器,适用的npm版本

3、man字段:用来指定当前木块的man文档的位置

4、preferGlobal字段:该字段的值是布尔值,表示当用户不将该模块安装为全局模块时(不使用-global参数),要不要显示警告,表示该模块的本意就是安装为全局模块。

5、style字段:指定供浏览器使用时,样式文件所在的位置,样式文件打包工具parcelify,通过它知道样式文件的打包位置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值