동작 방식
load
메소드는 config
의 autoload(default(true))
인자 값에 따라 ibsheet
라이브러리를 자동으로 로드한다.
ibsheet
가 로드되어 있지 않은 상태이면, 인자에 상관없이ibsheet
라이브러리 로드를 시도하고, 로드할 정보가 없다면 오류를 발생시킨다.- 인자로 새로운
ibsheet
를 주었을 때, 기존 라이브러리를 언로드하고 새로운 라이브러리를 로드한다. - 인자로 동일한 버전의
ibsheet
를 주었을 때, 업데이트 후 라이브러리를 다시 로드한다. - 이외의 경우, 이미 라이브러리가 로드되어 있다면 아무일도 하지 않는다.
ibsheet
라이브러리 자동 로드 기능을 사용하지 않으려면,false
를 사용하시면 됩니다.
허용 파라메터 유형
undefined
string
:alias
orURL
object
:RegistryItemData
array
:(alias|URL|RegistryItemData)[]
다이어그램
사용 예제
기본
// get global loader instanceimport loader from '@ibsheet/loader'// define ibsheet for loader registryconst ibsheetLibrary = {name: 'ibsheet',baseUrl: '<publicpath>/ibsheet'}// load ibsheetloader.load(ibsheetLibrary)
사전 설정 사용
// get global loader instanceimport loader from '@ibsheet/loader'// define ibsheet libs for loader registryconst ibsheetLibrary1 = {name: 'ibsheet',baseUrl: '<publicpath>/ibsheet/v1'version: 1,// ...}const ibsheetLibrary2 = {name: 'ibsheet',baseUrl: '<publicpath>/ibsheet/v2'version: 2,// ...}// setup loader configurationloader.config({registry: [ibsheetLibrary1,ibsheetLibrary2]})// load ibsheet version 2loader.load('ibsheet@2')
업데이트 & 리로드
// get global loader instanceimport loader from '@ibsheet/loader'// load ibsheetloader.load({name: 'ibsheet',baseUrl: '<publicpath>/ibsheet',locales: ['ko']})// update and reload ibsheetloader.load({name: 'ibsheet',locales: ['en']})
Multiple Load
여러 개의 라이브러리 한 번에 로드하기
// get global loader instanceimport loader from '@ibsheet/loader'// define ibsheet libs for loader registryconst myLibraries = [/*** sweetalert2* https://sweetalert2.github.io/*/{name: 'swal2',url: 'https://cdn.jsdelivr.net/npm/sweetalert2@8',// 위와 같이 URL에 스크립트의 유형(파일확장자)이 포함되지 않은 경우// type 속성을 통해 지정해주어야 한다.type: 'js'},/*** pretty checkbox* https://lokesh-coder.github.io/pretty-checkbox/*/{name: 'pretty-checkbox',url: 'https://cdn.jsdelivr.net/npm/pretty-checkbox@3.0/dist/pretty-checkbox.min.css'},/*** Font Awesome* https://fontawesome.com/*/{name: 'font-awesome',url: 'https://kit.fontawesome.com/21c0a510fd.js',// FontAwesome5의 라이브러리 키트는 자체적으로 스크립트들을 동적으로 로드하므로// 아래와 같이 로드되는 스크립트들을 명시해주어야 unload시 함께 제거된다.dependentUrls: ['https://kit-free.fontawesome.com/releases/latest/css/free-v4-shims.min.css','https://kit-free.fontawesome.com/releases/latest/css/free-v4-font-face.min.css','https://kit-free.fontawesome.com/releases/latest/css/free.min.css']}// ... your need libraries]// setup loader configurationloader// 레지스트리 라이브러리 등록.config({registry: myLibraries})// 라이브러리 로드// 1. arg1: Array<string> - 불러올 라이브러리의 이름을 배열로 전달// 2. arg2: boolean - ibsheet 자동로드 기능을 사용안함.load(['swal2','pretty-checkbox','font-awesome'], false)