我正在visual studio代码中设置node.js环境来调试truffle以进行ethereum开发。我打开vscode中的truffle source文件夹,然后选择truffle migrate/index.js文件,按f5键,在修复了一堆未解析的导入之后,当它试图从typescript文件解析web3模块时出现错误。

c:\Users\dimitri\Zap.org\truffle\node_modules\truffle-interface-
adapter\lib\web3-shim.ts:1
import Web3 from "web3";
       ^^^
SyntaxError: Unexpected identifier

我不确定这里是否支持typescript。我试着改变
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)中未正确设置typescript,还是其他原因导致了此问题?
我想把truffle设置为在vscode中运行,这样我就可以逐步了解它到底做了什么。Truffle是node.js应用程序。我这样做对吗?如果不是,那么truffle框架的开发人员使用什么?他们如何设置它?

最佳答案

在我的例子中,我只是忘记了安装依赖项
npm i web3

npm i -S web3

09-19 10:56