Cos*_*uke 6 docker angular ng-build angular-devkit angular12
堆栈: 带有 .NET 的 Angular 12,在 Docker 容器中运行。捆绑包正在由 @angular-devkit/build-angular:browser 构建。
最后的工作设置: 该应用程序之前在 Angular 7 上运行,所有资产确实都是通过 HTTPS 提供的。
问题: 当通过 HTTPS 运行时,Angular 12 捆绑包正在提供资产,包括。通过 HTTP 的 main.js、polyfills、样式表或 favicon。这会导致包、polyfills、styles.css 和 favicons 出现以下错误:
混合内容:页面通过 HTTPS 加载,但请求不安全的 X。此请求已被阻止;内容必须通过 HTTPS 提供。
我的第一个问题是 ng 构建过程,尽管我不知道如何确定提供资源的方式(?),因此我提到了堆栈的其余部分,以便在需要时进行检查。
更新:我标记了一个答案,但这是一种解决方法,我决定采用足够好的方法,尽管应该有一个我仍然希望找到的更深入的解决方案。
如果您直接升级,Angular 7则会Angular 12出现以下错误:
"Updating multiple major versions at once is not recommended."
假设您已经Angular 7安装在项目上,现在您需要首先将应用程序升级到Angular 8,然后Angular 8升级到Angular 9,然后Angular 9升级到Angular 10,然后Angular 10升级到Angular 11:
ng update @angular/core@6 @angular/cli@6 --force
ng update @angular/core@7 @angular/cli@7 --force
ng update @angular/core@8 @angular/cli@8 --force
ng update @angular/core@9 @angular/cli@9 --force
ng update @angular/core@10 @angular/cli@10 --force
ng update @angular/core@11 @angular/cli@11 --force
Run Code Online (Sandbox Code Playgroud)
现在,您已将Angular 7应用程序升级到Angular 11,因此您将运行以下命令升级到最新Angular 12版本:
ng update @angular/core@12 @angular/cli@12 --force
Run Code Online (Sandbox Code Playgroud)
--force已附加到该ng update命令,以防出现"Incompatible peer dependencies found"错误。
编辑
将以下元标记添加到您的<head>元素中HTML:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6517 次 |
| 最近记录: |