Инструмент Sumor Cloud.
Дополнительная документация
Поддерживается загрузчик конфигурации для файлов yaml и json. Он может загружать все файлы в каталоге.
И автоматически преобразует файл в указанный формат.
npm i @sumor/config --save
Требуется версия Node.JS 16.x или выше.
Поскольку этот пакет написан как ES-модуль,
пожалуйста, измените следующий код в вашем файле package.json
:
{
"type": "module"
}
import { load } from '@sumor/config'
Загрузить все файлы в каталоге
import { meta } from '@sumor/config'
const config = await meta(process.cwd(), ['sql'], ['js', 'sql'])
/*
Демонстрация структуры каталога
- root
- car.json
- car.sql
- ship.js
- plane.yml
*/
// это загрузит все файлы конфигурации следующим образом
/*
{
car: {
name: 'car',
sql: "..."
},
ship: {
name: 'ship'
// js-файл не будет загружен
},
plane: {
name: 'plane'
}
}
*/
import { find } from '@sumor/config'
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'])
// это загрузит все *.entity.yml или *.entity.json у которых такое же имя, как у файлов *.vue или *.js в корневом каталоге
/*
* пример:
* car.entity.yml, bike.entity.json
* car.vue, bike.js
* {
* "car": {...}
* "bike": {...}
* }
* */