我正在Visual Studio Code中设置一个Node.js环境来调试Truffle以进行以太坊开发。我在 VSCode 中打开松露源文件夹,然后选择松露迁移/索引.js文件,按 F5,在修复一堆未解决的导入后,我收到一个错误,因为它试图从 TypeScript 文件解析 Web3 模块。
c:UsersdimitriZap.orgtrufflenode_modulestruffle-interface-
adapterlibweb3-shim.ts:1
import Web3 from "web3";
^^^
SyntaxError: Unexpected identifier
我不确定这里是否正确支持打字稿。我试过改变
import Web3 from "web3";
自
import { Web3 } from "web3";
和
import web3 from "web3";
在文件夹中 truffle/node_modules/web3/dist 有 3 个文件:
web3.cjs.js
web3.esm.js
web3.umd.js
它们中的每一个都有以下变体:
var Web3 = function (_AbstractWeb3Module) {
在每个文件的末尾,有:
module.exports = Web3;
export default Web3;
return Web3;
我假设这些是 3 种不同种类的 JavaScript 的 3 个文件。看起来 Web3 模块正在其中导出。
这是JavaScript导入TypeScript,再次导入JavaScript。我遇到此问题是因为在我的环境 (VSCode) 中未正确设置打字稿还是其他原因?
我想将Truffle设置为在VSCode中运行,这样我就可以逐步了解它到底做了什么。Truffle是一个Node.js应用程序,我甚至以正确的方式做到这一点吗?如果没有,Truffle 框架的开发人员使用什么以及如何设置它?
就我而言,我只是忘记了安装依赖项npm i web3
或npm i -S web3