Quiero trabajar con este código de muestra del repositorio de Terra.js que puse en un archivo llamado terra-test.js :
import { LCDClient, Coin } from '@terra-money/terra.js'; // connect to bombay testnet const terra = new LCDClient({ URL: 'https://bombay-lcd.terra.dev', chainID: 'bombay-12', }); // To use LocalTerra // const terra = new LCDClient({ // URL: 'http://localhost:1317', // chainID: 'localterra' // }); // get the current swap rate from 1 TerraUSD to TerraKRW const offerCoin = new Coin('uusd', '1000000'); terra.market.swapRate(offerCoin, 'ukrw').then(c => { console.log(`${offerCoin.toString()} can be swapped for ${c.toString()}`); });Pero cuando quiero llamar a las funciones del script a través de index.html
<html> <head> <title>Terra.js Test</title> </head> <body> <script type="module" src="terra-test.js"></script> </body> </html>... me sale este error:
Uncaught TypeError: Failed to resolve module specifier "@terra-money/terra.js". Relative references must start with either "/", "./", or "../".¿Puede alguien señalarme en la dirección correcta? ¡Muchas gracias!
¿Ha instalado el módulo a través del administrador de paquetes npm? npm instalar @terra-money/terra.js
Si solo desea obtener experiencia con el ejemplo de TerraJS que compartió, ejecútelo desde la línea de comando con NodeJS (después de que npm instale los módulos, por supuesto)
Hay muchos desafíos en la historia del "último" JavaScript que se ejecuta en el navegador frente a NodeJS que ejecuta JavaScript desde la línea de comandos o como servidor. El mayor desafío son los módulos, las importaciones, las dependencias y el empaquetado.
Todos los ejemplos de interfaz de usuario en los que he trabajado usando TerraJS han usado React y la aplicación create-react-app o incluso NextJS. Que usan Babel y Webpack para empaquetar módulos de nodo para que funcionen en el navegador (por ejemplo, trabajando desde index.html, especialmente cuando hay dependencias en dependencias en el módulo). Fuera de tema pero relacionado, recientemente he estado tratando de trabajar con otro proyecto (no relacionado con Terra) que se hizo con browserfy, que es otro proyecto anterior para tratar de ayudar con los módulos de empaquetado y permitirles trabajar en el navegador.
Mi consejo sería adoptar React para el desarrollo de la interfaz de usuario y la interfaz de usuario de TerraJS. Y adopte NodeJS solo por trabajar directamente con TerraJS Library.