我刚刚将一个环境从angular version 11升级到了angular version 12,它有两个angular应用程序和几个库.

有棱角的json

{
 ....
 "optimization": {
    "scripts": true,
    "styles": {
       "minify": true,
       "inlineCritical": false
     },
     "fonts": true
  },
}

它给出了以下错误(sass和scss组件文件):

/home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/libs/ui-share-components/src/lib/top-panel/top-panel/top-panel.component.sass - Error: /home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/libs/ui-share-components/src/lib/top-panel/top-panel/top-panel.component.sass from Css Minimizer
Error: Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
    at failureErrorWithLog (/home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/node_modules/@angular-devkit/build-angular/node_modules/esbuild/lib/main.js:1493:15)
    at /home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/node_modules/@angular-devkit/build-angular/node_modules/esbuild/lib/main.js:1282:29
    at /home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/node_modules/@angular-devkit/build-angular/node_modules/esbuild/lib/main.js:629:9
    at handleIncomingPacket (/home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/node_modules/@angular-devkit/build-angular/node_modules/esbuild/lib/main.js:726:9)
    at Socket.readFromStdout (/home/jose/WORK/Rental/REAL/APPS/angular-nx-ws/node_modules/@angular-devkit/build-angular/node_modules/esbuild/lib/main.js:596:7)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:284:9)
    at Socket.Readable.push (_stream_readable.js:223:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:188:23)

禁用样式.缩小和字体编译没有问题:

"optimization": {
    "scripts": true,
    "styles": {
       "minify": false,
       "inlineCritical": false
     },
     "fonts": false
  },
}

推荐答案

Reason of the issue

预计每个版本都会返回一个条目("safari 15.2"、"safari 15.3"),而不是一个范围("safari 15.2-15.3").因此,这只是Safari浏览器版本解析逻辑中的一个缺陷,需要纠正,并且很快将在here6097996" rel="nofollow noreferrer">Angular 12/here5196760" rel="nofollow noreferrer">Angular 13的固定版本中完成.详情链接是here.

100

这在v12中是固定的.2.16和v13.2.1,如果遇到此问题,请更新.v11上的用户不应该受到影响.详情链接是here.如果出于任何原因不能/不想更新,则可以使用下面的解决方法之一.

Workarounds:

100

再加上.browserslistrc行:

not ios_saf 15.2-15.3 # temporary solution to avoid build issues https://github.com/nrwl/nx/issues/8768
not safari 15.2-15.3  # temporary solution to avoid build issues https://github.com/nrwl/nx/issues/8768

它必须出现在任何提到iOS_SAF或Safari之后.否则,它就不起作用了.指向解决方法的链接为here.

100

删除.browserslistrc的内容有助于修复构建.链接到变通方法是here.

100

删除.browserslistrc有助于修复构建.链接到变通方法是here.

100

添加caniuse-lite包:

npm install caniuse-lite@1.0.30001303 --save-dev --save-exact

链接到变通方法是here.

Angular相关问答推荐

Swiper 11角17 SSR Swiper断点不工作

我们应该在Angular 从14升级到15的过程中也升级茉莉花和业力相关的依赖吗?

路由在全局导航中总是给我/甚至使用相对路径

NG-BOOTSTRAPP SCROLLESPY没有高度就不能工作?

ANGLE DI useFactory将参数传递给工厂函数

倒计时计时器,每10秒重新启动一次,共4次

在Angular中使用ngFor进行表乘法

如何将角17中的嵌套组件与独立组件一起使用?

如何在 Angular 中每 x 秒从 REST api 加载数据并更新 UI 而不会闪烁?

npm install命令在基本Angular 应用程序的天蓝色构建管道中失败

ngRouterOutlet和组件生命周期使用自定义模板渲染的问题

Angular 9表单构建器 - 日期验证器问题

大型 Angular 12 应用程序 - 我如何管理 js 文件

Angular14:支持旧版浏览器的官方方式是什么?

无法将项目从 Angular 13 更新到 14

我应该在 Jasmine 3 中使用什么来代替 fit 和 fdescribe?

如何处理解析器中的错误

什么是 Angular 4,我可以从哪里了解更多信息?

Angular 2 Material - 如何居中进度微调器

Angular 2 中的动态模板 URL