여러 모듈 / 파일로 구성된 라이브러리를 작성 중입니다. 파일 중 하나 (메인이라고합시다)는 다른 모든 파일에 의존하므로 사용자가이 파일을로드하면 전체 라이브러리가로드됩니다.
이제 사용자는 모든 라이브러리를 하위 폴더 (subdir1이라고합시다)에 배치 할 수 있으므로 requirejs를 다음과 같이 구성합니다.
require.config({
paths: {
"jquery": "Scripts/jquery-2.0.3.min",
"knockout": "Scripts/knockout-2.3.0",
"MyLib.Main": "subdir1/MyLib.Main"
}
});
이 시나리오에서 subdir1 / MyLib.Main.js 파일은 정상적으로로드되지만이 파일이 MyLib.Helper 모듈에 의존하는 경우 requirejs는 subdir1 / MyLib.Helper.js 파일이 아닌 MyLib.Helper.js에서로드하려고합니다. 그것이있는 곳.
requirejs에게 subdir1에서 하위 모듈을로드하도록 지시하는 방법이 있습니까? 구성에서 모든 모듈을 열거 할 수 있다는 것을 알고 있지만 최종 사용자가 내 라이브러리의 내부 구조를 알아야합니다 (허용되지 않음). 이상적으로는 MyLib.Main.js 파일 내부의 subdir1에서로드해야하는 모든 모듈을 열거 할 수 있어야합니다 (하지만이 시점에서 subdir1이 될 것이라고 하드 코딩 할 수 없음에 유의하십시오).
사용자에게 필수 구성에서 LIBNAME_PATH 변수를 구성하도록 요청한 다음이 경로 변수를 사용하여 모든 경로를 접두사로 지정하십시오.
예:
require.config({
paths: {
"jquery": "Scripts/jquery-2.0.3.min",
"knockout": "Scripts/knockout-2.3.0",
"MyLib_PATH": "subdir1",
"MyLib.Main": "subdir1/MyLib.Main"
}
});
그런 다음에서 다음 subdir1/MyLib.Main
과 같은 내용이있을 수 있습니다.
require.config({
paths: {
"MyLib.Helper": "MyLib_PATH/MyLib.Helper"
}
});
그러면 requirejs는 MyLib_PATH
사용자가 구성한 올바른 경로로 확인되어야합니다.
이것은 테스트되지 않은 초안이지만 작동해야한다고 생각합니다. 이것은 라이브러리의 LIBNAME_PATH
모든 곳 에서 이것을 사용해야 함을 의미합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다