Skip to main content

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方法为,将参数中的值,拼接返回一个字符串路径。

  • 没帮助 0