配置文件
Node.js 环境
Node.js 支持多种格式的配置文件,请直接跳转到您喜欢的格式查看。
.json
推荐.json5
.{js,ts,mjs,mts,cjs,cts}
支持所有的 js/ts 后缀,后续可能统称为js
格式.{yml,yaml}
后续可能统称为yaml
格式
JSON
JSON 是一种数据传输格式,并不适合用来做配置文件,之所以推荐使用,是因为对人不方便,但是对机器来说非常方便。
为了与 json5 行为一致,我们为 json 增加了环境变量的支持
语法如 pushplus.token
所示,在字符串中使用 ` 表达式 ` (注意前后的符号,且 ` 只能是这个字符串的开头和结尾)表示这是一个表达式(当然目前这个表达式仅支持用来插入环境变量)
JSON5
实际上,本项目的 JSON5/JSON 是当成 JavaScript Object 处理的(JSON 写入后格式会变回为 json),并且可以通过 $env 获取环境变量。
JavaScript
前面的 JSON5 好像就是一个笑话,因为本来就支持 JavaScript/TypeScript。(推荐 mjs 或 mts)
推荐使用 esm 的语法,你无需担心主程序使用 cjs 而导致兼容问题,配置采用 jiti 实现 ts/js 和 esm/cjs 之间的兼容。
未来会为 TypeScript 增加类型提示,如果你使用 VScode、IntelliJ IDEA 等支持 ts 的编辑器将会方便很多。
YAML
不做过多介绍
为啥是 yaml@2
而不是 js-yaml
,因为我要保留注释写入
配置简介
以下都以 JSON 为例。
- caiyun/alipan 等等字段都是包含的功能的名称,后面的配置将直接应用到对应的功能上,具体内容见具体功能的指南。
- message 是推送消息的配置,详见推送。
多账号
以 alipan 为例,[
开头 ]
结尾的叫做数组,数组可以包含多个对象,每个对象就是一个账号。
举个栗子
配置路径
默认配置
默认配置的名称必须是以下之一(加载顺序排序):
asign.json
(推荐)asign.json5
asign.config.js
asign.config.ts
asign.config.mjs
asign.config.mts
asign.config.cts
asign.config.cjs
asign.yaml
asign.yml
这一个文件需要放置在:
- 你运行命令的目录下(linux 运行
ls
,windows 运行dir
就能看到这个文件为准,或其下的 config 目录) - 被运行的脚本的同级目录下(也就是它的旁边,或其下的 config 目录)
自定义配置
当然你也可以自定义配置文件路径,不拘束于文件名和放置位置,只需要给运行的脚本传入参数即可
需要注意的是,你的配置文件必须是上面提到的格式以及后缀