No entiendo cómo importar una biblioteca npm aleatoria en Svelte.
Tome la biblioteca scrapegoat , por ejemplo, una biblioteca para leer objetos CalDAV. Creé un nuevo proyecto Svelte:
$ npx degit sveltejs/template my-svelte-project $ cd my-svelte-project/ $ npm install $ npm install -D scrapegoat No estoy seguro de si debe agregarse a devDependencies, pero no parece hacer mucha diferencia si no es así. Ahora, en src/App.svelte agrego esta línea única en la etiqueta <script> existente.
import scrapegoat from 'scrapegoat' Ejecutar npm run dev arroja el siguiente error:
[!] Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files) node_modules/scrapegoat/package.json (2:9) 1: { 2: "_from": "scrapegoat@^2.0.0", ^ 3: "_id": "scrapegoat@2.0.0", 4: "_inBundle": false, Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files) at error (node_modules/rollup/dist/shared/rollup.js:158:30) at Module.error (node_modules/rollup/dist/shared/rollup.js:12420:16) at Module.tryParse (node_modules/rollup/dist/shared/rollup.js:12823:25) at Module.setSource (node_modules/rollup/dist/shared/rollup.js:12726:24) at ModuleLoader.addModuleSource (node_modules/rollup/dist/shared/rollup.js:22197:20)Esto es lo que entendí de la respuesta de Rich Harris, pero claramente me estoy perdiendo algo.
El paquete que está importando importa su propio paquete.json. Rollup no manejará las importaciones de JSON de forma predeterminada, por lo que deberá instalar el complemento json y agregarlo a su configuración de Rollup.