Usar un paquete npm con Webpack creado con Storybook, React y TypeScript
Escrito por
el .
javascript
planeta-codigo
web
Enlace permanente
Comentarios
En el ejemplo Desarrollar componentes React con TypeScript y sistemas de diseño con Storybook mostraba cómo desarrollar componentes React con TypeScript y de forma aislada con Storybook junto con sus pruebas unitarias y visuales con Jest. El resultado de ese proyecto es un paquete npm a instalar y usar en otros proyectos como este.
Un paquete npm es un archivo comprimido que se instala como dependencia en un proyecto. En este ejemplo se usa el paquete directamente, utilizar un repositorio de paquetes facilita el uso y distribución de los paquetes a los proyectos que los usen y esta es la forma que se debe utilizar en un proyecto real.
Este comando crea la estructura inicial de archivos y carpetas de un proyecto JavaScript que use React y TypeScript. Sobre esta base he creado el archivo de configuración para Webpack, eliminado la dependencia de react-script y creada la tarea start en el archivo package.json.
|
|
|
|
El paquete npm del proyecto en el que se desarrolla el componente de ejemplo se instala con el siguiente comando.
|
|
Usando el gestor de módulos Webpack en un proyecto se puede hacer referencia a los componentes de los paquetes instalados y generar como resultado los archivos distribuibles que son los que realmente se enviarán al cliente. En Webpack se indica un punto de partida y todas las referencias necesarias a otros módulos se empaquetan. En este caso se hace referencia a un archivo JavaScript que hace tiene un uso del componente del paquete npm del componente ejemplo.
Lo primero es instalar el gestor de módulos Webpack y crear se archivo de configuración. En esta configuración se indica el directorio donde se generará el resultado del empaquetado de cada uno de los puntos de entrada y también la configuración para el servidor de desarrollo. En el servidor de desarrollo Webpack hace de servidor web que sirve los archivos procesados y un directorio público donde los html pueden hacer referencia a ellos como en el caso de index.html.
|
|
|
|
El archivo index.tsx sería un punto de entrada para Webpack, en el se importa el componente App y se incluye en la página.
|
|
|
|
El archivo index.html permite probar la página con el componente incluído.
|
|
En el directorio indicado en la configuración de Webpack se generan los archivos de resultado. En el están los archivos .map para depurar en javascript y los .d.ts con definiciones de tipos de TypeScript para archivos JavaScript.
|
|
En la página de prueba que hace uso del JavaScript producido por Webpack se carga el componente del paquete npm desarrollado en otro proyecto haciendo uso de Storybook.
El código fuente completo del ejemplo puedes descargarlo del repositorio de ejemplos de Blog Bitix alojado en GitHub y probarlo en tu equipo ejecutando siguiente comando:npm install && npm run start