【问题标题】:How to fix 'Uncaught ReferenceError: XXX is not defined' when importing a class导入类时如何修复“未捕获的引用错误:未定义 XXX”
【发布时间】:2019-11-16 13:21:43
【问题描述】:

我在导入/导出类时遇到问题。它似乎很受欢迎。有时它会起作用,有时它不会。

我收到以下控制台错误: Uncaught ReferenceError: test is not defined at main.js:

我已经在网上上传了这个测试http://tibbotts.epizy.com/testClassImport/index.html

我尝试将“./test.js”更改为“/test.js”、“./test”等。

我尝试在网上搜索解决方案,但所有解决方案都针对 script type="module" ... fix。

<!DOCTYPE html>

<html>

<head>
    <title>Test Class Importing</title>
    <script type="module" src="main.js"></script>
</head>

<body>
    hello this is a test
</body>

</html>
import Test from "./test.js";

test = new Test();

test.speak();
export default class Test{

    constructor(test){
        this._test = `Test is Successful`;
    }

    speak(){
        console.log(this._test);
    }

}

我希望这会控制台日志 Test is Successful 并导入脚本,但我却收到以下错误消息:未捕获的 ReferenceError: test is not defined at main.js:

【问题讨论】:

    标签: javascript class ecmascript-6 import referenceerror


    【解决方案1】:

    您可能希望使用 varlet 之类的关键字来初始化 test

    let test = new Test();
    

    也不要忘记你的构造函数需要一个参数:

    let test = new Test("something");
    

    【讨论】:

    • 谢谢!我离开键盘了一会儿,当我回来时,我看到原因在盯着我看,我疯狂地想办法在有人回答之前消除我的问题!我想我应该先尝试离开键盘!尽管如此,还是感谢您的帮助。
    • 不用担心@minlopalis,总是乐于提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 2017-11-01
    • 2013-10-27
    • 2021-05-26
    相关资源
    最近更新 更多