【问题标题】:Unexpected identifier {classname} when I try to import a class尝试导入类时出现意外的标识符 {classname}
【发布时间】:2019-08-18 06:08:33
【问题描述】:

我在尝试导入类时收到“意外标识符”错误。

我是这样导入类的:

要导出的类(WindowManager)

export default class WindowManager {
    sayHello() {
        console.log('hello')
    }
}

导入的类(主)

import WindowManager from './handlers/WindowManager';

WindowManager = new WindowManager();
WindowManager.sayHello()

文件夹层次结构

导入的类(Main)> 处理程序> 要导入的类(WindowManager)

额外信息

在这行代码(Main)处抛出错误

从'./handlers/WindowManager.js'导入WindowManager;

我已经查看了 Unexpected Identifier {classname} when importing JavaScript Class into another Class 并进行了更改,但仍然一无所获

【问题讨论】:

  • 你确定它是被导入抛出的吗?看起来的线。我怀疑是 WindowManager = new WindowManager。”我不认为你可以从这样的类中实例化一个对象,并且它会导致该错误是有道理的。它应该类似于“WindoManager myManager = new WindowManager”。
  • @C.Peck 是的,我确定。我尝试了您的语法,但它无效...将我的声明从 WindowManager = new WindowManager(); 更改为 const windowManager = new WindowManager(); ,我仍然得到同样的错误

标签: javascript node.js electron


【解决方案1】:

我能够通过迁移到 TypeScript 来解决这个问题。

什么是 TypeScript?

TypeScript 基本上是类固醇上的 JavaScript。它添加了类型、私有方法等。还提供了一个编译器,可以将你的 TypeScript 代码编译成 JavaScript 代码!所以你不必担心兼容性,你在 TypeScript 上编写,然后用一个简单的命令编译成 JavaScript。

如何安装 TypeScript?

npm install -g typescript

如何使用 TypeScript?

  • 输入您的项目文件夹(package.json 所在的位置);

  • 通过运行tsc --init生成tsconfig.json;

  • 创建您的 TypeScript 索引文件;

  • 在终端运行tsc,将所有TypeScript项目文件编译成JavaScript;

  • 请注意,您的索引 TypeScript 文件已编译为 JavaScript;

  • 使用编译后的 JavaScript 文件作为 package.json 的主要入口点;
  • 启动您的应用/网站/随便什么,呵呵。

注意事项:

  • 每次对 TypeScript 文件进行更改时,都必须使用 tsc 重新编译代码并对 JavaScript 文件进行更改;

  • VS Code 自带 TypeScript 支持,如果您使用 Atom,可以按照以下教程安装 TypeScript 包:Installing atom-typescript package

编码愉快!

对我有帮助的文章:

【讨论】:

    猜你喜欢
    • 2019-03-11
    • 2018-06-10
    • 1970-01-01
    • 2021-06-01
    • 2019-12-23
    • 1970-01-01
    • 2019-10-25
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多