持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情
有了相关的软件包资源之后,我们就应该想到应该用什么来描述软件包呢?我们接下来介绍一下。
什么是package.json
我们知道npm 主要有两个功能,一个是用于发布和下载程序包,另一个是用来托管JavaScript 软件包。
我们经常会碰到的一些命令,如:npm install 就是为了下载我们需要的程序包。如果想要发布一些软件包到npm 管理的仓库中,我们可以执行npm publish 命令。
但是我们转念一想,有了软件包这种资源,有了存储软件包的仓库,那么我们用什么来描述软件包相关的信息呢?这个时候就轮到package.json 出厂了。
其实每个JavaScript 项目,无论是运行在浏览器端的还是运行在服务端的项目,npm 都视它们为一个软件包,都可以当做一种资源放到npm 的仓库中去。package.json 就是用来描述项目和软件包信息的。
当我们执行npm init 命令来初始化JavaScript 项目或者node 项目的时候,会生成package.json 文件。文件中的元数据是由开发人员来提供的:如name(项目名称) / version(项目版本) / description(项目描述) 等等。
什么是npm scripts
npm scripts 是packge.json 中支持的一个属性。有了这个属性,就可以把它当成是在项目本地运行的命令行工具。举例来说,在一个npm 项目中,在package.json 文件中的scripts 属性可能会设置成这样:
{
"name":"xxxxApp",
"version":"0.0.1",
"description":"only for test",
"private":true
"scripts": {
"pack":"ncc build",
"test":"jest"
}
}
在上面的scripts 中,我们发现其中有个ncc 和jest,它们是不会被安装成全局可执行的,仅仅是被安装到项目本地node_module/.bin/ 中去,等待用户使用。
总结
这篇文章主要就是介绍了npm 中的package.json 和其中的scripts 属性,这样我们再遇到就不会不知道他们是干什么的了。