Un grupo de voluntarios ha creado un componente de selección única/múltiple utilizando StencilJS: https://github.com/NothingAG/adg-components
Ahora queremos entregárselo al cliente para que lo utilice en su proyecto.
Mi expectativa era que el resultado final pudiera estar disponible como un solo archivo JavaScript y ser incluido en un sitio web como este:
<script type="module" src="/build/adg-components.esm.js"></script> <script nomodule src="/build/adg-components.js"></script> <adg-combobox id="hobbies" name="hobbies" label="Please select your hobbies" optionslabel="Hobbies" multi="true" lang="de" ></adg-combobox> Pero resulta que el comando npm run build crea un montón de archivos diferentes y todos deben estar disponibles:
También incluimos alguna función de traducción, cuyos archivos también deben estar disponibles:
Mi pregunta es: ¿es así como es? ¿El cliente debe hacer que todos esos archivos estén disponibles para que la llamada <script type="module" src="/build/adg-components.esm.js"></script> pueda encontrarlos? ¿O desconfiguramos la compilación u olvidamos algo importante?
En pocas palabras, sí, así son las cosas. Por lo tanto, debe distribuir no solo adg-components.esm.js, sino también todo lo demás en la carpeta. Los documentos de Stencil explican esto, pero para resumir, el propósito es que los componentes se carguen de forma selectiva. Si tiene una biblioteca con 100 componentes, el navegador solo necesita descargar los componentes que realmente se usan en la página, no los 100.