Saltar al contenido principal

Usar paquetes npm

Importa cualquier paquete npm que funcione en un navegador y el Estudio de widgets lo descargará por ti. No hay nada que instalar.

import { format } from "date-fns@4";

Consulta primero la biblioteca Blotch. Puede que ya tenga lo que necesitas, dibujado a la medida de la tinta electrónica (e-ink), y así tu widget pesa menos. Para los gráficos, usa los gráficos de la biblioteca en lugar de un paquete de gráficos.

Solo paquetes para navegador​

Tu widget se ejecuta en un navegador, así que los paquetes hechos para Node.js, que usan cosas como fs o child_process, no funcionan. Los paquetes que funcionan en ambos entornos no dan problemas.

Fijar la versión​

Añade siempre una versión al nombre del paquete. Sin ella, tu widget recibe la versión más reciente cada vez que se dibuja, y una nueva versión mayor del paquete puede romperlo sin previo aviso.

Si escribesObtienesEquivale en package.json a
date-fns@4La 4.x.x más reciente^4.0.0
date-fns@4.1La 4.1.x más reciente~4.1.0
date-fns@4.1.0Exactamente la 4.1.04.1.0
date-fnsLa versión más reciente, sea cual sea*

También funcionan los paquetes con ámbito y las rutas dentro de un paquete, como @scope/package@2 o package@2/subpath.

Escribe @ después del nombre de un paquete para ver sus versiones. Si el paquete trae tipos, se descargan con él, así que el autocompletado funciona.

Importar por nombre​

Importa exportaciones con nombre o la exportación predeterminada:

import { format } from "date-fns@4";
import dayjs from "dayjs@1";

Hay otras dos formas de importar que no se descargan por ti, así que evítalas:

  • Las importaciones de espacio de nombres con mayúsculas en el nombre, como import * as Lib from "lib@1". Escríbelas en minúsculas, import * as lib from "lib@1", o importa por nombre.
  • Las importaciones que solo buscan efectos secundarios, como import "lib@1".

React​

Los widgets siempre usan la versión de React que proporciona Blotch, sea cual sea la versión que importes. Importa React sin versión:

import { useState } from "react";