Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

464
Visualizações
Web3js no se puede importar en el proyecto API de composición de Vue3

Creé un nuevo proyecto con npm init vite bar -- --template vue . Hice una npm install web3 y puedo ver que mi package-lock.json incluye este paquete. Mi directorio node_modules también incluye los módulos web3 .

Entonces agregué esta línea a main.js :

 import { createApp } from 'vue' import App from './App.vue' import Web3 from 'web3' <-- This line createApp(App).mount('#app')

Y me sale el siguiente error: Error de referencia no capturado: el proceso no está definido

No entiendo lo que está pasando aquí. Soy bastante nuevo en el uso de npm , así que no estoy muy seguro de qué buscar en Google. Los errores provienen de node_modules/web3/lib/index.js , node_modules/web3-core/lib/index.js , node_modules/web3-core-requestmanager/lib/index.js y, finalmente, node_modules/util/util.js . Sospecho que tiene que ver con uno de estos:

  1. estoy usando vue 3
  2. Estoy usando la API de composición de Vue 3
  3. Estoy usando la etiqueta Vue 3 Composition API SFC <script setup> (pero la importé en main.js , así que no creo que sea esta)
  4. web3js está en Typescript y mi proyecto Vue3 no está configurado para Typescript

Pero como soy bastante nuevo en JavaScript, Vue y Web3, no estoy seguro de cómo enfocar mi búsqueda en Google en este error. Mi formación es Python, Go, Terraform. Básicamente, la parte trasera de la parte trasera. JavaScript front-end es nuevo para mí.

¿Cómo hago para resolver este problema?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Parece que web3 puede ejecutarse en Node o en navegadores, y la secuencia de comandos principal predeterminada del paquete web3 es una fuente sin procesar/sin compilar que incluye código específico de Node (incluidos process , global , Buffer y probablemente otros).

web3 distribuye un script incluido en web3/dist/web3.min.js , que puede ejecutarse en el navegador sin ninguna configuración (enumerado como "pure js" ). Debería importar ese archivo específico en el navegador:

 import Web3 from 'web3/dist/web3.min.js' const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546')

Para habilitar la inferencia de tipo para Web3 (y para resolver Could not find a declaration file for module 'web3/dist/web3.min.js'. ), cree un archivo de declaración de tipo para web3.min.js :

 // src/web3.d.ts declare module 'web3/dist/web3.min.js' { import Web3 from 'web3' export default Web3 }

manifestación

over 4 years ago · Santiago Trujillo Relatório

0

Puede evitar el error Uncaught ReferenceError: process is not defined al agregar esto en su configuración de vite

 export default defineConfig({ // ... define: { 'process.env': process.env } })
over 4 years ago · Santiago Trujillo Relatório

0

Encontré la mejor solución.

El problema es que pierde la variable window.process y el proceso existe solo en el nodo, no en el navegador.

Por lo tanto, debe inyectarlo en el navegador cuando se carga la aplicación.

Agregue esta línea a su aplicación:

 window.process = { ...window.process, };
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda