bigskysoftware / bigskysoftware/_hyperscript
ES Modules
- Lingua principale
- JavaScript
- Stelle
- 3.8k
- Fork
- 172
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
_Feel free to convert this into a Github Discussion._
Hello, you may be stumbling upon this thinking "why isn't the ES Module the main form of distribution for hyperscript?"
I want to have a public thread of the pitfalls for this as it will likely become re-occurring as other libraries experiment with this while hyperscript grows in popularity.
ES Modules are not a drop-in replacement for classic modules, and bring their own barriers to entry:
1. ES Modules require a server environment setup because of [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS).
1. Right now, hyperscript **just works** -- You can run plain `.html` files directly off your local disk. No server setup requirement. This is a competitive advantage and makes us an easy recommendation to newcomers of web development.
2. Playing with real hyperscript is IMHO the quickest way to make a new user. Getting to that point needs to be friction free: the language is already different enough! Someone from reddit or the orange site can download a mindblowing example like `hyperwordle.html` and tweak it straight away.
3. It will be bad for growth of the language for users to get hung up on advanced topics like CORS-- We want them to see how awesome hyperscript is without putting immediate stumbling blocks in the way.
3. ES Modules will break all sites currently using hyperscript: `` 👀 (modern browsers fail with an error unless you add `type="module"`)
1. It's worth noting this gotcha and `import` are extra knowledge not always known to newcomers outside of Node or Deno in general...
Personally I think it'd be smart to rename `*.modern.js` to `*.module.js` or `*.mjs` (or another standard), because its current form is misleading- and will lead to many fun "lets go to es modules" tickets in the future.
I love that Node / Deno got ES Modules in the browser (and its great when working in those stacks), but they are not a drop in replacement as implemented in the standard as of 2022.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Esamina la distribuzione attuale di *.modern.js e l’uso esistente di . Confronta il comportamento del browser descritto per i file .html locali, CORS e type="module". Il risultato deve essere una decisione del maintainer sull’opportunità di documentare o perseguire una distribuzione ES-module o una modifica del nome.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- web-dev
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100