【Electron-Vue】入门学习笔记之四:Package.json 可配置项
在每个项目的根目录下,一般会有一个 package.json 文件,定义了这个项目中所需各种模板和项目中的配置信息。npm install 命令就是根据这个配置文件,自动下载所需的模块,配置项目中所需的运行和开发环境。{"name": "first_electron","version": "0.1.0","description": "我的第一个 Electron 项目","main": "ma
在每个项目的根目录下,一般会有一个 package.json
文件,定义了这个项目中所需各种模板和项目中的配置信息。
npm install
命令就是根据这个配置文件,自动下载所需的模块,配置项目中所需的运行和开发环境。
{
"name": "first_electron",
"version": "0.1.0",
"description": "我的第一个 Electron 项目",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"author": "samrt crane",
"license": "ISC",
"devDependencies": {
"electron": "^9.2.0"
}
}
使用 npm init
命令可以初始化一个 package.json
的文件,在初始化的时候会让用户输入 name, version 等信息(也可以直接回车使用默认的设置),然后就会生成如上的 package.json
配置文件。
上面的 package.json
包含了项目的名称,版本号,描述,入口文件,执行脚本,作者,开源协议等,但是,package.json
的内容远不止这些。
详细介绍
name : 包的名称
name 有长度限制,不能以 .
和 _
开头,不能有大写字母。
在业务代码中,通过 require(${name})
就可以引入对应的程序包了。
version : 包的版本
一般都是 大版本.次版本.小版本
形式的版本号, 如 12.1.0
。
在发布的项目里, name
和 version
共同决定了唯一的一份代码。
description : 包的描述
简明地向使用者介绍,这个库是干什么用的。
开发组件库的时候必需,对于公司业务项目的话无所谓。
keywords : 关键词
对于 npm 包的介绍,方便使用者在 npm 中搜索。对于公司业务项目的话无所谓。
license : 开源协议
开源协议大概如下图所示,(注: ISC
与 BSD
差不多)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fpowvkbg-1597991039238)(Images/license.png)]
author : 作者
contributors : 贡献者
main : 代码入口
这个非常重要,特别是对于组件库。当你想在node_modules中修改你使用的某个组件库的代码时,首先在 node_modules
中找到这个组件库,第一眼就是要看这个 main
,找到组件库的入口文件,然后再去修改。
scripts : 运行脚本的 npm 命令行缩写
先看一个例子:
"scripts": {
"start": "electron .",
"dev": "electron . --debug",
"test": "mocha && standard",
},
在命令行输入:npm run xxx
,对应的命令就会被执行。如 npm run dev
或 npm run start
。
当执行 npm run xxx
时,node_modules/.bin/
目录会在运行时加入系统的 Path 变量。
如上面的例子,我们执行 npm run dev
时,实际上执行的是
node_modules/.bin/electron . --debug
repository : 仓库
让使用者找到你的代码库地址,这个配置项会直接在组件库的 npm 首页生效。
dependencies : 项目运行的依赖
通过 npm install --save
安装的包会出现在这里。
来看一个例子:
"dependencies": {
"electron": "^7.2.4",
"electron-log": "^2.2.14",
"electron-settings": "^3.0.7",
"electron-shortcut-normalizer": "^1.0.0",
"glob": "^7.1.0",
"highlight.js": "^9.3.0",
"update-electron-app": "^1.1.1"
},
其中,关于版本的设置规则如下:
"dependencies": {
"electron": "7.2.4", //指定安装 7.2.4 版本
"electron": "~7.2.4", //安装版本号不低于 7.2.4 的 7.2.x 的最新版本
"electron": "^7.2.4", //安装版本号不低于 7.2.4 的 7.x.x 的最新版本
"electron": "latest", //安装最新版本
},
devDependencies : 项目开发的依赖
通过 npm install --save -dev
安装的包会出现在这里。
主要是在开发过程中依赖一些工具,用法与 dependencies
相似。
来看一个例子:
"devDependencies": {
"@octokit/rest": "^16.3.2",
"chai": "^3.4.1",
"chai-as-promised": "^6.0.0",
"check-for-leaks": "^1.2.1",
"devtron": "^1.3.0",
"electron-packager": "^12.1.0",
"electron-winstaller": "^2.2.0",
"husky": "^0.14.3",
"mocha": "^5.2.0",
"npm-run-all": "^4.0.2",
"request": "^2.70.0",
"rimraf": "^2.5.2",
"signcode": "^0.5.0",
"spectron": "^5.0.0",
"standard": "^8.2.0",
"tap": "^14.10.6"
},
总结
对于 package.json
,一般情况下我们只需要关注好 scripts
,dependencies
,devDependencies
三个地方就够了。
参考文档
更多推荐
所有评论(0)