Aquí tengo una aplicación muy simple donde index.html simplemente importa index.js donde:
índice.js
import * as wasm from "wasm"; wasm.greet();lib.rs
mod utils; use wasm_bindgen::prelude::*; #[cfg(feature = "wee_alloc")] #[global_allocator] static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; #[wasm_bindgen] extern { fn alert(s: &str); } #[wasm_bindgen] pub fn greet() { alert("Wasm is running haha!"); }paquete.json
... "dependencies": { "wasm": "portal:../pkg" }, ...Ahora, aquí está mi problema:
"file:../pkg" en package.json, todo funciona, pero si hago un cambio y vuelvo a compilar usando wasm-pack, no se actualiza. Incluso ejecutar yarn install no se actualizará. La única forma en que puedo obtener cambios para mostrar es ejecutando yarn install --check-files pero luego la instalación lleva tiempo y es bastante dolorosa."portal:../pkg" en package.json, aparece un error ERROR in ./index.js Module not found: Error: Can't resolve "wasm" .... . Esto no es lo que espero."link:../pkg" todo funciona según lo planeado, y no tengo que ejecutar yarn install cada vez que compilo para ver los cambios. Esto es genial y lo que realmente quiero. Sin embargo, cuando leo los protocolos aquí https://yarnpkg.com/features/protocols , la diferencia entre el enlace y el portal es que el portal seguirá las dependencias si existe package.json en mi carpeta ../pkg . En mi caso, sí, y espero tener más dependencias allí. Entonces, ¿cómo puedo hacer que el portal funcione? ¿Y por qué no funciona ahora cuando el enlace funciona?