【问题标题】:SyntaxError: Unexpected identifier in TypeScript on import Web3 from "web3"SyntaxError:从“web3”导入 Web3 时 TypeScript 中出现意外标识符
【发布时间】: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 的位置吗?
  • 还有.jsweb3-shim 文件吗?如果您的项目不是 TypeScript,您将无法导入 .ts 文件。

标签: node.js typescript visual-studio-code truffle


【解决方案1】:

就我而言,我只是忘记安装依赖项 npm i web3 要么 npm i -S web3

【讨论】:

    猜你喜欢
    • 2020-03-05
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2022-12-21
    相关资源
    最近更新 更多