meh*_*meh 6 vue.js web3js vuejs3 vite
我用 . 创建了一个全新的项目npm init vite bar -- --template vue。我已经完成了npm install web3,我可以看到我package-lock.json包含这个包。我的node_modules目录还包括web3模块。
然后我将这一行添加到main.js:
import { createApp } from 'vue'
import App from './App.vue'
import Web3 from 'web3' <-- This line
createApp(App).mount('#app')
Run Code Online (Sandbox Code Playgroud)
我不明白这是怎么回事。我对使用还很陌生npm,所以我不太确定要谷歌什么。错误来自node_modules/web3/lib/index.js、node_modules/web3-core/lib/index.js、node_modules/web3-core-requestmanager/lib/index.js、 最后node_modules/util/util.js。我怀疑这与以下之一有关:
<script setup>标签(但我导入了它,main.js所以我不认为是这个)web3js在 Typescript 中,我的 Vue3 项目没有为 Typescript 配置但由于我对 JavaScript、Vue 和 Web3 相当陌生,我不确定如何将我的谷歌搜索重点放在这个错误上。我的背景是 Python、Go、Terraform。基本上是后端的后端。前端 JavaScript 对我来说是新的。
我该如何解决这个问题?
ton*_*y19 16
填充 Node 全局变量和模块使web3导入能够在浏览器中运行:
npm i -D @esbuild-plugins/node-globals-polyfill\nnpm i -D @esbuild-plugins/node-modules-polyfill\nRun Code Online (Sandbox Code Playgroud)\n配置optimizeDeps.esbuildOptions以使用这些 ESBuild 插件。
配置define为替换global为globalThis(浏览器等效项)。
import { defineConfig } from \'vite\'\nimport GlobalsPolyfills from \'@esbuild-plugins/node-globals-polyfill\'\nimport NodeModulesPolyfills from \'@esbuild-plugins/node-modules-polyfill\'\n\nexport default defineConfig({\n \xe2\x8b\xae\n optimizeDeps: {\n esbuildOptions: {\n 2\xef\xb8\x8f\xe2\x83\xa3\n plugins: [\n NodeModulesPolyfills(),\n GlobalsPolyfills({\n process: true,\n buffer: true,\n }),\n ],\n 3\xef\xb8\x8f\xe2\x83\xa3\n define: {\n global: \'globalThis\',\n },\n },\n },\n})\nRun Code Online (Sandbox Code Playgroud)\n\n注意:polyfills 给构建输出增加了相当大的大小。
\nweb3在 处分发捆绑脚本web3/dist/web3.min.js,无需任何配置即可在浏览器中运行(列为“纯js”)。您可以配置 aresolve.alias来拉入该文件:
import { defineConfig } from \'vite\'\n\nexport default defineConfig({\n \xe2\x8b\xae\n resolve: {\n alias: {\n web3: \'web3/dist/web3.min.js\',\n },\n\n // or\n alias: [\n {\n find: \'web3\',\n replacement: \'web3/dist/web3.min.js\',\n },\n ],\n },\n})\nRun Code Online (Sandbox Code Playgroud)\n\n注意:此选项产生的输出比选项 1 小469.4 KiB 。
\n| 归档时间: |
|
| 查看次数: |
5900 次 |
| 最近记录: |