配置

一款Sumor Cloud工具。
更多文档 配置加载器支持 yaml 和 json 文件。它可以加载目录中的所有文件。
并且自动将文件转换为指定的格式。

CI Test Coverage Audit

安装

npm i @sumor/config --save

先决条件

Node.JS 版本

需要 Node.JS 版本 16.x 或更高版本

需要 Node.JS ES 模块

由于此软件包是用 ES 模块编写的,请在您的 package.json 文件中更改以下代码:

{
  "type": "module"
}

使用方法

入口方法

load

import { load } from '@sumor/config'

meta

加载目录中的所有文件

import { meta } from '@sumor/config'

const config = await meta(process.cwd(), ['js', 'sql'])

/*
演示目录结构
- root
  - car.json
  - car.sql
  - ship.js
  - plane.yml
  - truck.config.js
*/

// 将会加载所有配置文件如下
/*
{
  car: {
    name: 'car',
    sql: "..."
  },
  ship: {
    name: 'ship'
    js: '<root>/ship.js'
  },
  plane: {
    name: 'plane'
  },
  truck: {
    name: 'truck'
  }
*/

旧方法

find

import { find } from '@sumor/config'

findReference

import { findReference } from '@sumor/config'

加载配置文件

import { load } from '@sumor/config'

const config1 = await load(process.cwd(), 'demo')
// 将加载根目录中的 demo.yml 或 demo.json 文件

const config2 = await load(process.cwd(), 'demo', 'yaml')
// 将加载根目录中的 demo.yml 或 demo.json 文件,并将其转换为 yaml 格式文件

查找配置文件

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'entity')
// 将加载根目录中所有 *.entity.yml 或 *.entity.json 文件
/*
 * 示例:
 *   car.entity.yml, bike.entity.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */

从其他文件中查找配置文件

例如 .vue,.js 文件,具有相同名称的配置文件

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// 将加载根目录中所有具有与 *.vue 或 *.js 相同名称的 *.entity.yml 或 *.entity.json 文件
/*
 * 示例:
 *   car.entity.yml, bike.entity.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */