이 문서는 themes/(0000-0000-0000-0001)/assets/js 의 구조를 모듈 기준으로 다시 정리한 결과를 짧게 요약한다.
무엇이 바뀌었는가
- 루트에 있던
app.js,search.js,fastsearch.js,theme-controller.js,_index.js를00-entrypoints/아래로 이동했다. license.js는 실제 기능이 없는 잔재 파일이어서 제거했다.fuse.basic.min.js는 검색 전용 vendor 이므로03-platform-adapters/browser-adapters/vendor/로 옮겼다.head.html은 이제 새 엔트리포인트 경로를 읽는다.config/_default/params/js.toml과config/_default/params.toml의 주석 경로도 새 구조에 맞게 정리했다.
구조 판단 기준
- 루트는 가능한 비워 두고, 기능 단위는 반드시 폴더 안에 둔다.
_index.js같은 집계 파일은 폴더 내부에서만 사용한다.- 검색용 외부 라이브러리는 vendor 경로로 분리한다.
- 실제 구현은
01-foundations~06-shared-utilities계층에 두고, 엔트리포인트는 조립만 담당한다.
현재 배치의 의미
00-entrypoints/app.js: 공통 UI 부트스트랩00-entrypoints/search.js: 검색 전용 엔트리포인트00-entrypoints/fastsearch.js: 이전 호환용 별칭00-entrypoints/theme-controller.js: 테마 제어 호환용 별칭03-platform-adapters/browser-adapters/vendor/fuse.basic.min.js: 검색용 외부 라이브러리
확인 포인트
themes/(0000-0000-0000-0001)/layouts/partials/head.html이 새 경로를 참조하는가- 검색 페이지에서
Fuse가 정상 로드되는가 - 테마 토글과 공지/내비게이션/코드복사가 중복 초기화 없이 동작하는가
- 루트
assets/js에 더 이상 임의의 엔트리 파일이 남아 있지 않은가
한 줄 정리
이 작업의 핵심은 파일을 더 많이 만드는 것이 아니라, 기능의 출입구를 폴더 경계 안으로 옮겨서 유지보수의 기준점을 선명하게 만든 것이다.