इस प्रोजेक्ट के बारे में
# esm.sh
आधुनिक वेब डेवलपमेंट के लिए एक नो-बिल्ड JavaScript CDN।
## अवलोकन
esm.sh JavaScript मॉड्यूल को बिना किसी इंस्टॉलेशन या बिल्ड चरण के सीधे HTTP URL से आयात करने की अनुमति देता है। यह स्रोत कोड को सर्वर साइड पर ब्राउज़र-संगत ES मॉड्यूल में रूपांतरित करता है, परिणामों को कैश करता है, और उन्हें वैश्विक Cloudflare CDN से सर्व करता है।
## रजिस्ट्री समर्थन
- **NPM**: किसी भी पैकेज को नाम, संस्करण, या टैग द्वारा आयात करें
- **JSR**: `/jsr/` से शुरू होने वाली Deno-अनुकूल रजिस्ट्री
- **GitHub**: `/gh/` प्रीफ़िक्स के साथ रिपॉज़िटरी से सीधे आयात
- **pkg.pr.new**: `/pr/` प्रीफ़िक्स के साथ PRs से प्रीव्यू बिल्ड
## मुख्य विशेषताएँ
### ज़ीरो-बिल्ड आयात
```js
import React from "https://esm.sh/react@19.2.4";
import { encodeBase64 } from "https://esm.sh/jsr/@std/encoding@1.0.0/base64";
```
### स्रोत रूपांतरण
बिना बिल्ड टूल्स के ब्राउज़र में `.ts(x)`, `.vue`, और `.svelte` फ़ाइलों को स्वचालित रूप से रूपांतरित करता है।
### निर्भरता प्रबंधन
क्वेरी पैरामीटर के साथ निर्भरता संस्करण निर्दिष्ट करें:
```js
import useSWR from "https://esm.sh/swr?deps=react@18.3.1";
```
निर्भरताओं को उपनाम दें:
```js
import useSWR from "https://esm.sh/swr?alias=react:preact/compat";
```
### बंडलिंग विकल्प
- `?bundle=false` - डिफ़ॉल्ट बंडलिंग अक्षम करें
- `?standalone` - सभी निर्भरताओं को एक फ़ाइल में बंडल करें
- `?raw` - अरूपांतरित स्रोत कोड सर्व करें
- `?exports=foo,bar` - विशिष्ट एक्सपोर्ट्स के लिए ट्री-शेक करें
### बिल्ड कॉन्फ़िगरेशन
बिल्ड लक्ष्य और विकल्प नियंत्रित करें:
```js
// डेवलपमेंट बिल्ड
import React from "https://esm.sh/react?dev";
// लक्ष्य निर्दिष्ट करें
import React from "https://esm.sh/react?target=es2022";
// ESBuild विकल्प
import foo from "https://esm.sh/foo?conditions=custom1,custom2";
import foo from "https://esm.sh/foo?keep-names";
```
### इम्पोर्ट मैप्स एकीकरण
बेयर स्पेसिफ़ायर रिज़ॉल्यूशन के लिए HTML इम्पोर्ट मैप्स के साथ काम करता है:
```html
<script type="importmap">
{
"imports": {
"react": "https://esm.sh/react@19.2.4"
}
}
</script>
```
ब्राउज़र रिज़ॉल्यूशन के लिए आयातों को बेयर स्पेसिफ़ायर के रूप में रखने के लिए `?external` या `*` प्रीफ़िक्स का उपयोग करें।
### अतिरिक्त विशेषताएँ
- **CSS आयात**: JS में CSS आयात करने वाले पैकेजों के लिए `?css` फ़्लैग
- **Web Workers**: इंजेक्शन समर्थन के साथ वर्कर लोडिंग के लिए `?worker` क्वेरी
- **Deno संगतता**: Node.js अंतर्निहित मॉड्यूल (fs, os, net, आदि) को रिज़ॉल्व करता है
- **TypeScript समर्थन**: `X-TypeScript-Types` हेडर के माध्यम से स्वचालित टाइप परिभाषाएँ
- **tsx स्क्रिप्ट**: HTML में सीधे TSX लिखने के लिए 1KB स्क्रिप्ट
### कैश पर्ज
अद्यतन पैकेजों के लिए कैश किए गए बिल्ड रीफ़्रेश करें:
- सटीक संस्करण तुरंत पुनर्निर्मित होते हैं
- बेयर नाम अगली रिक्वेस्ट पर संस्करणों को पुनः रिज़ॉल्व करते हैं
- प्रूफ़-ऑफ़-वर्क चैलेंज दुरुपयोग को रोकता है
### सेल्फ-होस्टिंग
[होस्टिंग दस्तावेज़](./HOSTING.md) का पालन करते हुए अपना स्वयं का इंस्टेंस तैनात करें।
## सीमाएँ
वर्तमान में Node.js या Bun रनटाइम्स द्वारा समर्थित नहीं है।
## लाइसेंस
MIT
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.