T2Editor 문서를 읽다 보면 모든 파일을 같은 비중으로 분석해야 할 것처럼 느껴질 수 있지만, 실제로는 그렇지 않습니다. pdf.min.js, pdf.worker.min.js, jszip.min.js, Material Icons 같은 파일은 외부 의존 자산이므로, 코어 구조 문서와 같은 방식으로 깊게 리팩터링 대상에 올려놓는 것은 권장되지 않습니다.
운영자는 이 파일들을 “함부로 지우면 안 되는 번들 자산” 정도로 이해하면 충분합니다. PDF 보기 기능이 필요하면 PDF.js 계열 파일이 있어야 하고, 툴바 아이콘이 정상적으로 보이려면 Material Icons 관련 자산이 필요합니다.
T2Editor 문서를 읽다 보면 모든 파일을 같은 비중으로 분석해야 할 것처럼 느껴질 수 있지만, 실제로는 그렇지 않습니다. pdf.min.js, pdf.worker.min.js, jszip.min.js, Material Icons 같은 파일은 외부 의존 자산이므로, 코어 구조 문서와 같은 방식으로 깊게 리팩터링 대상에 올려놓는 것은 권장되지 않습니다.
운영자는 이 파일들을 “함부로 지우면 안 되는 번들 자산” 정도로 이해하면 충분합니다. PDF 보기 기능이 필요하면 PDF.js 계열 파일이 있어야 하고, 툴바 아이콘이 정상적으로 보이려면 Material Icons 관련 자산이 필요합니다.
| 이전 | 새 버전 | ||
|---|---|---|---|
| 1 | --- | 1 | --- |
| 2 | title: 외부 의존 라이브러리 가이드 | 2 | title: 외부 의존 라이브러리 가이드 |
| 3 | document_id: 77-external-dependencies-guide | 3 | document_id: 77-external-dependencies-guide |
| 4 | slug: 77-external-dependencies-guide | 4 | slug: 77-external-dependencies-guide |
| 5 | target_editor_version: 9.0.0 | 5 | target_editor_version: 9.0.0 |
| 6 | document_type: architecture | 6 | document_type: architecture |
| 7 | doc_type: architecture | 7 | doc_type: architecture |
| 8 | target_readers: [웹마스터, 개발자, AI agent] | 8 | target_readers: [웹마스터, 개발자, AI agent] |
| 9 | importance: Medium | 9 | importance: Medium |
| 10 | dependency: Medium | 10 | dependency: Medium |
| 11 | core_type: Infra | 11 | core_type: Infra |
| 12 | stability: [Stable Anchor] | 12 | stability: [Stable Anchor] |
| 13 | stable_anchor: [pdf.min.js, pdf.worker.min.js, jszip.min.js, material icons] | 13 | stable_anchor: [pdf.min.js, pdf.worker.min.js, jszip.min.js, material icons] |
| 14 | version_bound: [라이브러리 버전 교체] | 14 | version_bound: [라이브러리 버전 교체] |
| 15 | related_docs: [directory-js-guide.md, directory-fonts-guide.md, 75-upload-and-media-pipeline-guide.md] | 15 | related_docs: [directory-js-guide.md, directory-fonts-guide.md, 75-upload-and-media-pipeline-guide.md] |
| 16 | related_files: [js/pdf.min.js, js/pdf.worker.min.js, js/jszip.min.js, fonts/material-icons] | 16 | related_files: [js/pdf.min.js, js/pdf.worker.min.js, js/jszip.min.js, fonts/material-icons] |
| 17 | related_functions: [] | 17 | related_functions: [] |
| 18 | related_classes_modules: [] | 18 | related_classes_modules: [] |
| 19 | related_features: [PDF 보기, 압축 파일 처리, 아이콘 렌더링] | 19 | related_features: [PDF 보기, 압축 파일 처리, 아이콘 렌더링] |
| 20 | related_ui: [툴바 아이콘, PDF 보기] | 20 | related_ui: [툴바 아이콘, PDF 보기] |
| 21 | change_risk: 외부 라이브러리 교체는 호환성과 번들 크기에 영향을 줄 수 있습니다. | 21 | change_risk: 외부 라이브러리 교체는 호환성과 번들 크기에 영향을 줄 수 있습니다. |
| 22 | reading_order: 77 | 22 | reading_order: 77 |
| 23 | summary: T2Editor 번들에 포함된 외부 라이브러리와 관리 원칙을 정리한 문서입니다. | 23 | summary: T2Editor 번들에 포함된 외부 라이브러리와 관리 원칙을 정리한 문서입니다. |
| 24 | description: 코어가 아닌 외부 의존 자산을 어디까지 분석하고 어디까지 교체 대상으로 볼지 설명합니다. | 24 | description: 코어가 아닌 외부 의존 자산을 어디까지 분석하고 어디까지 교체 대상으로 볼지 설명합니다. |
| 25 | tags: [T2Editor, dependency, pdfjs, jszip, material icons] | 25 | tags: [T2Editor, dependency, pdfjs, jszip, material icons] |
| 26 | version_tag: 9.0.0 | 26 | version_tag: 9.0.0 |
| 27 | maintenance_difficulty: Medium | 27 | maintenance_difficulty: Medium |
| 28 | test_requirement: Medium | 28 | test_requirement: Medium |
| 29 | ai_agent_risk: Medium | 29 | ai_agent_risk: Medium |
| 30 | source_basis: [현재 코드 분석 기반] | 30 | source_basis: [현재 코드 분석 기반] |
| 31 | beginner_section_included: true | 31 | beginner_section_included: true |
| 32 | webmaster_section_included: true | 32 | webmaster_section_included: true |
| 33 | developer_section_included: true | 33 | developer_section_included: true |
| 34 | --- | 34 | --- |
| 35 | 35 | ||
| 36 | # 외부 의존 라이브러리 가이드 | 36 | # 외부 의존 라이브러리 가이드 |
| 37 | 37 | ||
| 38 | T2Editor 문서를 읽다 보면 모든 파일을 같은 비중으로 분석해야 할 것처럼 느껴질 수 있지만, 실제로는 그렇지 않습니다. `pdf.min.js`, `pdf.worker.min.js`, `jszip.min.js`, Material Icons 같은 파일은 외부 의존 자산이므로, 코어 구조 문서와 같은 방식으로 깊게 리팩터링 대상에 올려놓는 것은 권장되지 않습니다. | 38 | T2Editor 문서를 읽다 보면 모든 파일을 같은 비중으로 분석해야 할 것처럼 느껴질 수 있지만, 실제로는 그렇지 않습니다. `pdf.min.js`, `pdf.worker.min.js`, `jszip.min.js`, Material Icons 같은 파일은 외부 의존 자산이므로, 코어 구조 문서와 같은 방식으로 깊게 리팩터링 대상에 올려놓는 것은 권장되지 않습니다. |
| 39 | 39 | ||
| 40 | ## 초보자와 웹마스터를 위한 이해 | 40 | ## 초보자와 웹마스터를 위한 이해 |
| 41 | 41 | ||
| 42 | 운영자는 이 파일들을 “함부로 지우면 안 되는 번들 자산” 정도로 이해하면 충분합니다. PDF 보기 기능이 필요하면 PDF.js 계열 파일이 있어야 하고, 툴바 아이콘이 정상적으로 보이려면 Material Icons 관련 자산이 필요합니다. | 42 | 운영자는 이 파일들을 “함부로 지우면 안 되는 번들 자산” 정도로 이해하면 충분합니다. PDF 보기 기능이 필요하면 PDF.js 계열 파일이 있어야 하고, 툴바 아이콘이 정상적으로 보이려면 Material Icons 관련 자산이 필요합니다. |
| 43 | 43 | ||
| 44 | ## 전문 개발자를 위한 관리 원칙 | 44 | ## 전문 개발자를 위한 관리 원칙 |
| 45 | 45 | ||
| 46 | - 외부 라이브러리는 버전 교체 이유가 명확할 때만 바꿉니다. | 46 | - 외부 라이브러리는 버전 교체 이유가 명확할 때만 바꿉니다. |
| 47 | - 보안 패치, 브라우저 호환성, 파일 크기 절감이 주된 교체 이유가 됩니다. | 47 | - 보안 패치, 브라우저 호환성, 파일 크기 절감이 주된 교체 이유가 됩니다. |
| 48 | - 내부 코어 코드와 다르게, 외부 라이브러리는 원본 유지가 원칙입니다. | 48 | - 내부 코어 코드와 다르게, 외부 라이브러리는 원본 유지가 원칙입니다. |
| 49 | - 교체 시에는 래퍼 코드나 호출부 영향까지 함께 검토해야 합니다. | 49 | - 교체 시에는 래퍼 코드나 호출부 영향까지 함께 검토해야 합니다. |
| 50 | 50 | ||
| 51 | ## 참고 자료 | 51 | ## 참고 자료 |
| 52 | 52 | ||
| 53 | - DSclub T2Editor 서비스 페이지: https://dsclub.kr/service/editor | 53 | - DSclub T2Editor 서비스 페이지: https://dsclub.kr/service/editor |
| 54 | 54 | ||