config文件
#
介绍#
config文件的用处目前比较常见的用法是:
- 从入参中解构出application,进行新增额外的config配置。
- 也可以对application中的字段,进行初始化赋值。
- 或其他额外的设置。
我们从一份相对简单的config.js代码进行分析:(上述的第一点用法)
const path = require('path') module.exports = (core) => { const {application} = core application.configuration(config => { config.addContext('xxx', { srcRoot: path.join(application.root, 'src'), }) })}
#
基础架子config.js 有固定的格式,需要export一个fucntion,入参为core。
入参的core,可理解为 lisa-core,实际上它也是lisa-core的引入。
module.exports = (core) => { // ...}
#
解构application是config.js的核心,基本所有config.js都使用该代码架,介绍中的用法也基本需要写该代码架。
const {application} = core // 从参数core中解构出application application.configuration(config => { // ... })
application.configuration是application的一个function,其用处是在一个入参为config的function中,对config进行介绍中的用法使用。
#
使用#
新增本包配置使用config.addContext方法,该方法入参为:
参数 | 类型 | 描述 |
---|---|---|
参数一 | string | 要存的config配置的key,通常为本包自己定义的名 |
参数二 | object | 要存的key对应的value,类型是一个对象,该对象内可存多个自定义配置 |
config.addContext('xxx', { srcRoot: path.join(application.root, 'src'),})
如例子中,定义了key为xxx,对应的object包含了srcRoot配置。
application.root的默认值为当前执行的cli的目录。
#
解惑在本篇中,出现了path的使用
const path = require('path')// ... srcRoot: path.join(application.root, 'src'),// ...
path为node的一个默认api,可直接require引用。如例子中,path.join方法为,将参数中的值,拼接返回一个字符串路径。