Angular 角元素';构建错误
我有一个带有延迟加载模块的angular 9应用程序。 我想导出整个应用程序的角度元素到一个单一的文件,插入到一个标准的HTML页面没有其他web组件。(我希望避免使用iframe解决方案) 这就是我所做的: 我修改了app.module.ts,将AppComponent声明为entryComponentsAngular 角元素';构建错误,angular,webpack,angular-elements,Angular,Webpack,Angular Elements,我有一个带有延迟加载模块的angular 9应用程序。 我想导出整个应用程序的角度元素到一个单一的文件,插入到一个标准的HTML页面没有其他web组件。(我希望避免使用iframe解决方案) 这就是我所做的: 我修改了app.module.ts,将AppComponent声明为entryComponents entryComponents: [AppComponent] 在AppModule的构造函数中,我写道: constructor(private injector: Injector)
entryComponents: [AppComponent]
在AppModule的构造函数中,我写道:
constructor(private injector: Injector) {
const myElement = createCustomElement(AppComponent, { injector: this.injector });
customElements.define('app-element', myElement);
}
在polyfill.ts中,我已启用
@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js
最后,在package.json中,我创建了一个任务来进行构建,将所有内容都包含在一个文件中,如下所示:
"el-build": "npm run --aot el-build-task && npm run el-package-task",
"el-build-task": "ng build appname -c=beta --output-hashing=none",
"el-package-task": "cat ./dist/appname/{main-es5,main-es2015,polyfills-es5,polyfills-es2015,runtime-es5,runtime-es2015}.js > ./dist/appname.js"
当我运行npm运行el build时,一切都很完美,我得到了一个文件
在HTML页面中导入后,会出现以下错误:
Uncaught SyntaxError: Unexpected token ':'
即使更改绑定的文件(main-es5、polyfills…),也会发生此错误。它从来没有在同一位置,但似乎是网页建设它与此错误
我甚至按照这里的建议在es5和es2015中划分了捆绑包,但我得到了相同的错误
正如我前面提到的,我有20个延迟加载的模块,可以生成尽可能多的.js文件。我试图将它们也导入到包中,但出现了相同的错误
我试着用一个简单的基础应用程序来做这件事,它工作得非常完美
因此,我不知道这是否取决于某些网页的设置(我完全不知道网页),或者整个应用程序有太多的模块,或者其他我忽略的东西
有什么建议吗