标签: angular-ivy

__ngcc_entry_points__.json 是否应该添加到源代码管理中

在更新到 Angular 9.1 期间,__ngcc_entry_points__.json我在项目的所有根文件夹中都出现了一个名为的文件。这个文件应该被添加到源代码管理中,还是被忽略?

它似乎只包含一些哈希信息,所以我认为它可以被忽略?

angular angular-ivy

12
推荐指数
1
解决办法
2209
查看次数

错误 NG6002:出现在 <module> 的 NgModule.imports 中,但无法解析为 NgModule 类

我刚刚从 Angular 8.2 更新到 9。

如果我禁用 ivy 一切正常,但是当它启用时,我收到了很多似乎有点模糊的错误,至少我在谷歌搜索时找不到任何结果。

我很确定我已经完成了更新所需的一切,即将延迟加载更改为使用动态导入和固定的 Angular Material 导入路径等。

我还将在此处包含我的package.json依赖项

  "dependencies": {
    "@angular/animations": "^9.0.0",
    "@angular/cdk": "^9.0.0",
    "@angular/common": "^9.0.0",
    "@angular/compiler": "^9.0.0",
    "@angular/core": "^9.0.0",
    "@angular/fire": "^5.4.2",
    "@angular/flex-layout": "^9.0.0-beta.29",
    "@angular/forms": "^9.0.0",
    "@angular/http": "^7.2.15",
    "@angular/material": "^9.0.0",
    "@angular/material-moment-adapter": "^8.2.2",
    "@angular/platform-browser": "^9.0.0",
    "@angular/platform-browser-dynamic": "^9.0.0",
    "@angular/platform-server": "^9.0.0",
    "@angular/router": "^9.0.0",
    "@ngrx/effects": "^8.3.0",
    "@ngrx/entity": "^8.3.0",
    "@ngrx/router-store": "^8.3.0",
    "@ngrx/store": "^8.3.0",
    "@zxing/ngx-scanner": "^2.0.1",
    "angular-resizable-element": "^3.2.4",
    "angular-resize-event": "^1.1.1",
    "angular2-highcharts": "^0.5.5",
    "core-js": "^3.6.4",
    "detect-browser": "^4.7.0",
    "firebase": "^7.8.0",
    "google-polyline": "^1.0.3",
    "hammerjs": "^2.0.8",
    "highcharts": "^8.0.0",
    "i18n-iso-countries": "^4.3.1",
    "leaflet": "^1.5.1",
    "mapbox-gl": …
Run Code Online (Sandbox Code Playgroud)

angular angular-ivy

11
推荐指数
1
解决办法
1万
查看次数

错误:试图用 ngcc 备份文件覆盖 <package_path>.__ivy_ngcc_bak,这是不允许的

我已从 Angular 8 升级到 9,并按照此处的所有步骤启用了 Ivy 。当我运行npm install一些我的包时抛出错误:

Tried to overwrite <package_path>.__ivy_ngcc_bak with an ngcc back up file, which is disallowed.

这是什么意思,为什么会这样?我很难找到有关它的任何信息。我已经为所有这些抛出此错误的软件包安装了最新版本,但在运行npm install. 谢谢!

npm angular angular-ivy angular9

11
推荐指数
1
解决办法
2721
查看次数

Angular 10:无法编写参考

我尝试按照 Angular 更新指南从 Angular 8 升级到 Angular 10。

我的项目由核心应用程序、共享(2 个库、谷歌地图和共享组件)和一个额外的 apk fsm(2 个库、应用程序及其元数据)组成。

核心和共享的构建正在通过,但 fsm 构建失败,并显示“错误:无法在 C:/Users/PATH/fsm-frontend/node_modules/shared-frontend/src/components/chip/chip.component 中写入对 ChipComponent 的引用” .ts 来自 C:/Users/PATH/fsm-frontend/node_modules/shared-frontend/src/components/chip/chip.module.ts “错误。

ChipComponent 本身没有问题,但可能在某些导入或 tsconfig 中存在问题。

共享 tsconfig.json:

{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "./",
        "downlevelIteration": true,
        "importHelpers": true,
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "module": "es2020",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es2015",
        "typeRoots": [
            "node_modules/@types"
        ],
        "lib": [
            "es2017",
            "dom"
        ],
        "paths": {
            "shared-frontend": [
                "dist/shared-frontend"
            ],
            "shared-frontend/*": [
                "dist/shared-frontend/*"
            ],
            "map": [
                "dist/map"
            ], …
Run Code Online (Sandbox Code Playgroud)

typescript angular angular-ivy

11
推荐指数
2
解决办法
1万
查看次数

无法使用 Ivy 将 @Input 装饰器与查询装饰器结合使用

我已将我的 angular 7 应用程序迁移到 8.0.0,我现在正在尝试新的编译器 ivy。

该应用程序在没有常春藤的情况下可以完美运行,但是当我尝试使用它进行编译时,出现以下错误:

不能将@Input 装饰器与查询装饰器结合使用

没有行号,没有文件,什么都没有......很难调试任何东西。

在那之前我有警告,但我不知道它是否相关:

入口点“angular-tree-component”中的警告包含对“lodash/defaultsDeep”、“lodash/get”、“lodash/omit”、“lodash/isNumber”、“lodash/first”、“lodash/last”的深度导入, 'lodash/some', 'lodash/every', 'lodash/compact', 'lodash/find', 'lodash/isString', 'lodash/isFunction', 'lodash/throttle', 'lodash/includes', '洛达什/挑选'。这可能不是问题,但可能会导致入口点的编译出现乱序。

有任何想法吗 ?

angular angular-ivy angular-tree-component

9
推荐指数
1
解决办法
9487
查看次数

HMR 因 Angular 9 + IVY 失败:类型 AppComponent 是 2 个模块声明的一部分:AppModule 和 AppModule

受影响的包裹

HMR + 常春藤

这是回归吗?

常春藤之前,它有效

描述

好像 IVY 和 HMR 不能很好地一起玩?但是我已经看到他们的票已经关闭了,所以我想这应该是可能的。我在代码更改后重新加载:

未处理的承诺拒绝:类型 AppComponent 是 2 个模块声明的一部分:AppModule 和 AppModule!请考虑将 AppComponent 移至导入 AppModule 和 AppModule 的更高模块。您还可以创建一个新的 NgModule 来导出并包含 AppComponent,然后在 AppModule 和 AppModule 中导入该 NgModule。Type Background 是 2 个模块声明的一部分:AppModule 和 AppModule!请考虑将 Background 移至导入 AppModule 和 AppModule 的更高模块。您还可以创建一个新的 NgModule 来导出并包含 Background,然后在 AppModule 和 AppModule 中导入该 NgModule。

...

我们可以看到其他人如何更好地进行调查:https : //www.gitmemory.com/issue/storybookjs/storybook/8494/551763214

当前环境

角度版本:

ng 9.0.1

cli 9.0.1

webpack-hmr hot-module-replacement angular angular-ivy angular9

9
推荐指数
1
解决办法
1727
查看次数

未捕获(承诺中):类型错误:无法读取角度 10 中未定义的属性“?cmp”

当我尝试加载刚刚用 --prod 标志编译的应用程序时,我收到此错误Uncaught (in promise): TypeError: Cannot read property \'\xc9\xb5cmp\' of undefined in angular,并将 optimization 和 buildOptimizer 设置为 true,当我将两者设置为 false 时,问题消失,应用程序加载时没有问题,但应用程序大小更大,并且性能不符合预期,我需要构建一个将 optimization 和 buildOptimizer 设置为 true 的产品,有人对这个问题有好的解决方案吗?

\n

角度.json 文件:

\n
            "staging": {\n              "fileReplacements": [\n                {\n                  "replace": "src/environments/environment.ts",\n                  "with": "src/environments/environment.staging.ts"\n                }\n              ],\n              "optimization": true,\n              "outputHashing": "all",\n              "sourceMap": false,\n              "extractCss": true,\n              "namedChunks": false,\n              "extractLicenses": true,\n              "vendorChunk": false,\n              "buildOptimizer": true,\n              "budgets": [\n                {\n                  "type": "initial",\n                  "maximumWarning": "2mb",\n                  "maximumError": "5mb"\n                },\n                {\n                  "type": "anyComponentStyle",\n                  "maximumWarning": "6kb",\n                  "maximumError": "10kb"\n                }\n              ]\n            }\n …
Run Code Online (Sandbox Code Playgroud)

angular angular-ivy angular10

9
推荐指数
2
解决办法
2万
查看次数

Angular 库编译时错误“违反了不变量:没有格式路径或格式”

我有一个 Angular 11 项目,它试图集成 SpreadJS Designer,但在 ngcc 步骤中失败,但Compiling @grapecity/spread-sheets-designer-angular : esm2015 as esm2015有异常:

工人 #3 上的错误:错误:违反不变:没有格式路径或格式为 /path/to/my/project/node_modules/@grapecity/spread-sheets-designer-angular : main (formatPath: bundles/grapecity-spread- sheet-designer-angular.umd.js | 格式:未定义)

如何进一步诊断和解决此问题?

这是npx ng version我的项目的输出:

Angular CLI: 11.0.2
Node: 14.15.1
OS: linux x64

Angular: 11.0.2
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1100.2
@angular-devkit/build-angular   0.1100.2
@angular-devkit/core            11.0.2
@angular-devkit/schematics      11.0.2
@angular/cdk                    11.0.1
@angular/material               11.0.1
@schematics/angular             11.0.2
@schematics/update              0.1100.2
rxjs                            6.5.3 …
Run Code Online (Sandbox Code Playgroud)

spreadjs angular angular-ivy

9
推荐指数
1
解决办法
531
查看次数

Angular Ivy在手动更改检测方面特别允许我们做什么?

本文提到

常春藤为未来打开了一些可能性。现在应该可以在没有zone.js的情况下运行应用程序,并以半手动方式处理变更检测(有点像使用React一样)。这些API已经存在,但只是实验性的,没有记录在案,并且可能会在不久的将来发生变化。

我认为已经可以在Ivy之前运行没有zone.js的应用程序了。常春藤是否允许半手动处理变更检测?这些实验性API在哪里?有文件吗?常春藤仍然使用zone.js吗?

我的目标是通过手动触发更改检测来将更改检测降至最低。这样做的最佳选择是什么。特别是使用常春藤时最好的选择是什么。

zone angular2-changedetection angular angular-ivy

8
推荐指数
1
解决办法
150
查看次数

Angular“部分”与“完整”编译模式?

与“完整”编译模式相比,为什么在“部分”编译模式下编译的库在消费者应用程序内部构建得如此缓慢?

angular angular-library angular-ivy angular12

7
推荐指数
1
解决办法
5169
查看次数