研究错误,
" EXCEPTION:TypeError:tagDef.requireExtraParent不是函数"
它实际上会在Google上返回0结果。
背景
该网站非常基础。我已经删除了所有可能的并发症,看起来错误只是在引导本身。也许缺少填料?
的index.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.
app.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>
消除任何编译/转换错误。
挖掘到如此之深以至于谷歌甚至找不到任何东西。
答案 0 :(得分:1)
您的解决方案是spoton
src
答案 1 :(得分:0)
问题是我在Angular中使用保留字作为标签(手表)。
<services></services>
<collage></collage>
<watch></watch> <== problem
<collage></collage>
将其改为此作品:
<services></services>
<collage></collage>
<watchit></watchit> <== works fine
<collage></collage>
这是不可能调试的。我不得不一行一行地评论一下,直到最终我发现它是在html中,最后哪条线特别引入了这个问题。
只有当其他人点击这个时才发布,他们不会那么疯狂。