package.json

168 阅读3分钟

项目启动、打包命令和声明依赖的npm包

这是一个JSON对象,每一项都是该项目的配置。各项配置的含义如下。 ◎ name:项目名称,必需字段。 ◎ version:项目版本,必需字段。 ◎ main:入口文件。 ◎ license:项目遵守的许可证。 ◎ scripts:可运行的npm命令。 ◎ keywords:关键字。 ◎ author:作者。 ◎ description:项目描述。 package.json文件中有两个比较特殊的字段,即name和version,它们是必需字段。下面对这两个字段进行详细说明。 字段不能与其他模块名重复,可以使用npm view命令查询模块名是否重复。如果重复,就提示404

version 查看最新版本:npm view vue version。 ◉ 查看所有版本:npm view vue versions。

keywords 包中的description字段和keywords字段需要进行匹配,写好package.json文件中的description字段和keywords字段将有利于增加包的曝先率。

devDependencies: 声明的是开发阶段需要的包,如Webpack、ESLint、Babel等,用来辅助开发。

optionalDependencies: 若希望在找不到包或者安装失败时,npm包能继续运行,则可将该包放在optionalDependencies对象中。optionalDependencies对象中的包会覆盖dependencies中同名的包

scripts脚本: package.json内置脚本入口,是stage-value键值对配置,key为可运行的命令,通过npm run执行命令。可以结合pre和post完成前置、后续操作,该操作可以类比单元测试用的setUp和tearDown。

编辑三个脚本:

module配置:定义npm包的ESM规范的入口文件,在Browser环境和Node环境中均可使用。

main、module和browser这三项配置都和入口文件相兲,之所以把它们放在一起介绍,是因为这三项之间是有差别的,特别是在不同的使用场景下。在Web环境下,如果使用loader加载ESM(ES module),那么这三项配置的加载顺序是browser→module→main;如果使用require加载CommonJS模块,则加载的顺序是main→module→browser。

engines配置:日常在维护一些遗留项目时,对npm包的版本或者Node的版本可能会有特殊的要求。如果不满足条件,则可能会出现各种各样奇怪的问题。为了让项目能够“开箱即用”,可以在engines中说明具体的版本号。

bin配置:许多包都有一个或多个可执行文件,可以使用npm link命令把这些文件导入全局路径中,以便在任意目彔下执行。如导入脚手架工具create-react-app的react-scripts中

或导入vue-cli脚手架的@vue包中

上面两个配置在package.json包中提供了一个映射到本地文件名的bin字段,之后npm包将链接这个文件到prefix/bin里面,以便全局引入;或者链接到本地的./node_modules/.bin/目彔中,以便在本项目中使用。

1.官网注册账号:www.npmjs.com/ 注册后需查看邮箱信息,激活验证才可上传 2.安装npm(node自带) 3.切换npm地址:npm config set registryhttps://registry.npmjs.org (在安装了淘宝镜像的情况下) 4.验证地址:npm config get registry 5.命令注册,建立用户帐号:npm adduser 6.登录:npm login(一般第五步,会提示输入账号) 7.发布包,上传到npm服务器:npm publish 8.删除npm包,后面是版本号:npm unpublish baoming@1.0.1

在上传包名时,package.json文件中的"main": "src/main.js",一定要指向正确不然,npm下来的包引用找不到路径