研究错误,
“例外:TypeError:tagDef.requireExtraParent 不是函数”
它实际上在 Google 上返回 0 个结果。
背景:
- 网站在 Chrome 和 Safari 上运行良好。还没测试过IE。那里是整个单独的噩梦。
- 错误仅适用于 Firefox(似乎所有版本。目前在 45 上)
- 我正在使用 System 从 TypeScript 转换为 ES5,并遵循 Angular 快速入门
- 在 Mac 上,如果这很重要
- Angular2,测试版 9
该网站非常基本。我已经消除了所有可能的并发症,而且似乎错误只是在引导本身。也许缺少 polyfill?
索引.html
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
packages: {
'js': {
defaultExtension: 'js'
}
}
});
System.import('js/main')
.then(null, console.error.bind(console));
main.ts(入口点)
/// <reference path="../../node_modules/angular2/typings/browser.d.ts" />
import {HTTP_PROVIDERS} from 'angular2/http';
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app/components/app';
import 'rxjs/Rx'
bootstrap(AppComponent, [HTTP_PROVIDERS]); // if i comment this out, the error disappears indicating that it lives somewhere in app.ts.
应用程序.ts
import {Component} from 'angular2/core';
@Component({
selector: "myapp",
templateUrl: "templates/app.html",
directives: [],
providers: []
})
export class AppComponent {}
我试过什么
添加一些额外的 polyfill,例如 html_parser,它似乎是定义 requireExtraParent 方法的地方。
<script type="text/javascript" src="dist/lib/html_parser.js"></script>
消除任何编译/转译错误。
挖掘得如此之深,以至于谷歌甚至找不到任何东西。