【发布时间】:2019-10-25 05:01:13
【问题描述】:
我正在 Visual Studio Code 中设置 Node.js 环境来调试 Truffle 以进行以太坊开发。我在 VSCode 中打开 truffle 源文件夹,然后选择 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 Framework 的开发人员使用什么以及他们如何设置它?
【问题讨论】:
-
只从 tsconfig.json 中排除 node_modules 文件夹
-
您可以在您的 truffle 项目中将您的文件发布到您要导入
web3-shim的位置吗? -
还有
.js的web3-shim文件吗?如果您的项目不是 TypeScript,您将无法导入.ts文件。
标签: node.js typescript visual-studio-code truffle