Sumor Cloud 도구.
더 많은 문서
Config Loader는 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(), ['js', 'sql'])
/*
데모 디렉토리 구조
- root
- car.json
- car.sql
- ship.js
- plane.yml
*/
// 아래와 같이 모든 config 파일들을 로드합니다.
/*
{
car: {
name: 'car',
sql: "..."
},
ship: {
name: 'ship'
js: '<root>/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 파일 등과 같은 동일한 이름의 config 파일을 가지고 있는 경우
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": {...}
* }
* */