gpt4 book ai didi

javascript - 使用 SystemJS 加载扩展其他类的类

转载 作者:太空狗 更新时间:2023-10-29 18:34:47 27 4
gpt4 key购买 nike

我的 Angular2 应用程序中有两个类,其中一个扩展了另一个,就像这样,文件course.ts中的第一个(加载时的js)

export class Course {
id:string;
}

第二个在 schoolCourse.ts 中(加载时为 js)

import {Course} from "./course";
export class SchoolCourse extends Course {
code:string;
}

要在浏览器中加载应用程序,请使用以下 SystemJs 代码

 <script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/app/boot')
.then(null, console.error.bind(console));
</script>

当我使用 SchoolCourse 类作为扩展类加载应用程序时,出现错误

Class extends value undefined is not a function or null

从 angular2-polyfills.js 发出

展开并查看它来自的堆栈跟踪

Error loading http://localhost:3000/app/app/boot.js at execute (http://localhost:3000/app/courses/schoolCourse.js:15:48)

引用的那行是 js 中表示 SchoolCourse extends Course 的行。

对我来说,这听起来像是在 SchoolCourse 类(class)之前加载类(class)的问题,但我完全可以,而且我不是 SystemJs 的专家。

有人知道我怎么解决这个问题吗?

最佳答案

您的 SchoolCourse 类是否导入 Course 类?

import {Course} from './path/to/course';

export class SchoolCourse extends Course {
code: string;
}

import 行应该向 SystemJS 指示 Course 必须在 SchoolCourse 之前加载。

要检查的另一件事 - 在浏览器的开发工具中,打开“网络”选项卡并观察应用加载时的流量。是否在调用 course.js 之前调用了 schoolCourse.js

关于javascript - 使用 SystemJS 加载扩展其他类的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com