gpt4 book ai didi

angular - 集成 Web 组件在 Angular 6 中使用了错误的 base-href

转载 作者:太空狗 更新时间:2023-10-29 17:24:57 30 4
gpt4 key购买 nike

我刚刚使用 Angular 6 创建了我的第一个网络组件。一切正常,直到我尝试将网络组件集成到现有应用程序中:

集成网络组件的应用程序(https://www.example.com):

<script type="text/javascript" src="https://component.example.com/html-imports.min.js"></script>
<link rel="import" href="https://component.example.com/element.html">
<my-web-component uuid="2342-asdf-2342-ffsk"></my-web-component>

我的网络组件 index.html 不包含 base-href。

浏览器现在尝试加载 Web 组件的 Assets :

https://www.example.com/assets/i18n/de_CH.json

代替

 https://component.example.com/assets/i18n/de_CH.json

当我尝试在构建过程中添加 base-href 时,结果如下:

ng build --configuration=development --base-href https://component.example.com/

Cannot read property 'startTag' of null
TypeError: Cannot read property 'startTag' of null
at IndexHtmlWebpackPlugin.<anonymous> (/home/www-data/.../node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/index-html-webpack-plugin.js:147:62)
at Generator.next (<anonymous>)
at fulfilled (/home/www-data/.../node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/index-html-webpack-plugin.js:4:58)

非常感谢任何帮助,我的想法已经用完了。

最佳答案

先给几个提示:

  • 正如 Skorunka 所建议的,您应该构造 <base>已经在<head>因为它们都共享相同的起始 URL。此外,在这种情况下同时使用相对和绝对 URL 是没有意义的。
  • --base-href配置甚至可以覆盖 HTML 中的配置,所以不用担心。
  • 删除 typescript标签,它绝对不是 Javascript,也没有必要。
  • 最后的样子:

    <base href="https://component.example.com/">
    <script src="html-imports.min.js"></script>
    <link rel="import" href="element.html">
    <my-web-component uuid="2342-asdf-2342-ffsk"></my-web-component>

回到问题,能不能把你的组件源码发给我?问题可能在于您在组件中加载文件的方式,而不是您导入组件的方式,也不在于此处的代码。

关于angular - 集成 Web 组件在 Angular 6 中使用了错误的 base-href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51216624/

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