# CDN

> 스크립트 태그로 붙이기: 버전 고정 주소, 파일 종류, 전역 Label82.

Source: https://82label.app/docs/cdn/

82label.app 이 파일을 직접 내려줍니다. 버전이 들어간 주소는 내용이 바뀌지 않아 브라우저가 1년 동안 캐시합니다. 운영 사이트에는 버전 주소를 쓰세요.

| 파일 | 설명 |
| --- | --- |
| `/cdn/v0.2.0/82label.min.js` | 스크립트 태그용. 전역 `Label82` 를 만들고 `<label-82>` 를 등록합니다. |
| `/cdn/v0.2.0/82label.esm.js` | `<script type="module">` 에서 import 하는 ES 모듈. |
| `/cdn/v0.2.0/82label.css` | `<label-82>` 의 미리보기 틀과 인쇄 버튼 스타일. `print()` 만 쓴다면 필요 없습니다. |
| `/cdn/latest/…` | 항상 최신 버전. 1시간 캐시. 시험용으로만 쓰세요. |

## 스크립트 태그

```html
<script src="https://82label.app/cdn/v0.2.0/82label.min.js"></script>
<script>
  Label82.print(template, rows);
</script>
```

## ES 모듈

```html
<script type="module">
  import { print, renderToSVG } from 'https://82label.app/cdn/v0.2.0/82label.esm.js';
  document.querySelector('#preview').innerHTML = renderToSVG(template, rows[0]);
  document.querySelector('#print').onclick = () => print(template, rows);
</script>
```

## 전역 Label82 에 들어 있는 것

`print`, `printers`, `agentStatus`, `loadTemplate`, `renderToSVG`, `barcodeSVG`, `qrSVG`, `layoutPages`, `FORMTEC`, `ROLL_SIZES`, `presetTemplate`, `defineLabelElement`, `VERSION` 등 npm 패키지의 모든 내보내기와 같습니다. 전체 목록은 [API 레퍼런스](https://82label.app/docs/api/)에 있습니다.

## 서식 JSON Schema

서식 형식의 JSON Schema 가 [https://82label.app/schema/template.json](https://82label.app/schema/template.json) 에 있습니다(버전 고정: `/schema/v0.2.0/template.json`, npm: `@82label/core/schema.json`). 편집기에서 서식 파일을 자동 완성·검사할 때 씁니다.

```json
{
  "$schema": "https://82label.app/schema/template.json",
  "v": 1,
  "name": "상품 바코드",
  "paper": { "kind": "roll" },
  "label": { "width": 50, "height": 30 },
  "elements": []
}
```

> 파일을 내려받아 내 서버에 두어도 됩니다. MIT 라이선스라 고쳐 쓰고 다시 배포해도 됩니다. 사용 통계는 하루 한 번 도메인과 버전만 보내며, 사내 주소에서는 보내지 않습니다. `<html data-82label-telemetry="off">` 로 끌 수 있습니다.
