我正在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