소개: NPM + Deno용 ESM CDN

안녕하세요. ES 모듈을 위한 빠른 글로벌 콘텐츠 전송 네트워크인 esm.sh을 소개하겠습니다. 모든 모듈은 esbuild에서 npm에 의해 ESM으로 변환됩니다.

Skypackjspm 과 달리 esm.sh는 각 패키지에 대한 모든 종속성(peerDependencies 제외)을 번들로 묶어 더 나은 로딩 속도를 제공합니다.

esm.sh는 cloudflare을 gloabl CDN으로 사용합니다.

URL에서 가져오기




import React from 'https://esm.sh/react'


버전 지정




import React from 'https://esm.sh/[email protected]'


서브모듈




import { renderToString } from 'https://esm.sh/react-dom/server'


또는 일반 파일 가져오기:

import 'https://esm.sh/tailwindcss/dist/tailwind.min.css'


개발 모드




import React from 'https://esm.sh/react?dev'


번들 모드




import React from 'https://esm.sh/[react,react-dom,swr]/react'
import ReactDom from 'https://esm.sh/[react,react-dom,swr]/react-dom'


또는 import-map.json ( import-maps proposal )에서 번들 목록을 정의할 수 있습니다.

{
    "imports": {
        "https://esm.sh/": "https://esm.sh/[react,react-dom,swr]/",
        ...
    }
}



import React from 'https://esm.sh/react' // actual from 'https://esm.sh/[react,react-dom,swr]/react'


⚠️ URL의 묶음 패키지는 최대 10개까지 제한되어 있으며, 더 많은 패키지를 묶으려면 esm 클라이언트(WIP)를 사용하십시오.

데노 호환성



esm.sh는 노드 내부 모듈(fs, os 등)을 https://deno.land/std/node 으로 폴리필하여 postcss와 같이 Deno에서 작동하는 일부 모듈을 지원합니다.

import postcss from 'https://esm.sh/postcss'
import autoprefixer from 'https://esm.sh/autoprefixer'

const css = (await postcss([ autoprefixer]).process(`
    backdrop-filter: blur(5px);
    user-select: none;
`).async()).content


X-Typescript-유형



기본적으로 esm.sh는 deno 유형 검사(link)에 유용한 유형(dts)이 정의된 경우 X-TypeScript-Types의 사용자 지정 HTTP 헤더에 응답합니다.



일부 유형이 올바르지 않기 때문에 no-check 쿼리를 전달하여 types 헤더를 비활성화할 수 있습니다.

import unescape from 'https://esm.sh/lodash/unescape?no-check'


더 많은 용도



확인해주세요https://esm.sh

오픈 소스



esm.sh는 MIT 라이선스에 따라 라이선스가 부여됩니다.

https://github.com/postui/esm.sh

좋은 웹페이지 즐겨찾기