问题标签 [angular-ivy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 角度启用常春藤导致问题构建库
问题
我创建了一个有角度的工作场所,其中包含一个应用程序和一个库。启用 IVY 后,在构建库时出现错误。但如果我将 enableIvy 设置为 false,它运行良好。
代码
tsconfig.json
angular.json 的一部分
尝试运行 ng build cxi-library 收到如下错误:
** 不建议将 Ivy 库发布到 NPM 存储库 **
构建入口点'cxi-library'
通过 ngc 编译 TypeScript 源 ERROR: ENOENT: no such file or directory, scandir 'C:/cxi.registry.ui/cxi.registry.ui/C:/cxi.registry.ui/cxi.registry.ui/dist/cxi -library/cxi-library.d.ts' 发生未处理的异常:ENOENT: 没有这样的文件或目录,scandir 'C:/cxi.registry.ui/cxi.registry.ui/C:/cxi.registry.ui/ cxi.registry.ui/dist/cxi-library/cxi-library.d.ts' 参见“C:\Users\JUNXIL~1.FOX\AppData\Local\Temp\ng-tIrBUR\angular-errors.log”更多详细信息。
angular - Angular Inject 参数化提供程序
我有这样的服务
并想像这样将它注入我的组件中
但这给了我以下错误
我希望将它作为实际服务上的静态方法的原因是,因为我不希望组件知道 MyService 需要哪些依赖项。MyService 也在很多不同的地方使用,所以通过这种方式,我也避免了重复。
有没有办法欺骗 Angular 允许函数调用?
最好的问候, 本尼迪克特
angular - 如何动态导入组件并使用 ivy 渲染它们
我试图将一个组件或模块或应用程序导入到第二个应用程序中,这几乎无关紧要,并使用 Angular 8 ivy 新功能呈现该组件
我可以看到,通过 import someComponent 在我的浏览器中运行时加载了一个文件。它包括所有模块数据。但是回调对象(lalala)总是空的。那是我遇到错误时...无法读取未定义的属性“ngComponentDef”。我希望模块位于对象中,因此可以使用 createComponent 函数创建它。
也许我在尝试导入时编译了错误的组件?
也许你们中的一个人已经尝试过这个并且可以给我一些指示。
我真的很感激帮助。
angular - 在 Angular 中使用 Ivy 的缺点?
每个人都在谈论 Ivy 用于 Angular 编译。我所听到的都是关于它的好消息。有什么缺点吗?像我在使用它之前应该注意的事情?
angular - Angular 9 的库构建失败
我正在尝试将此库https://github.com/flauc/angular2-notifications从 Angular 2+ 迁移到 Angular 9。
最初的错误是关于ModuleWithProviders
已成为泛型类型的,所以我修复了它。我还在这里描述了一个错误https://github.com/angular/angular/issues/32352我已修复,require('@angular/compiler-cli');
现在我面临另一个错误:
../node_modules/@angular/common/common.d.ts:115:22 - 错误 NG6002:出现在 SimpleNotificationsModule 的 NgModule.imports 中,但无法解析为 NgModule 类
我很难理解发生了什么,因为我以前从未构建过库,而且使用 gulp 构建似乎有点 hacky,因为这一行ngc = require('@angular/compiler-cli/src/main').main
引用了一个不属于公共 API 的函数。
编辑:
按照评论中的想法(和我自己的感觉),我尝试在没有 gulp 的情况下构建:
- 创建了一个
angular.json
文件 - 分为和
index.ts
_public_api.ts
simple-notifications.module.ts
- 对文件和文件夹结构进行了一些更改
但我仍然有同样的错误......
我的尝试:https ://github.com/youkouleley/angular2-notifications
我尝试使用 构建它ng build
,其中的脚本package.json
尚未更新
angular - 带有常春藤的 Angular 8 无法构建
我将我的包迁移到 angular 8,我想使用 ivy,因为我使用延迟加载的模块。
当我运行时,ng serve
我收到以下错误消息。
我不知道如何追踪这个问题。有没有人解决这个问题或有类似的问题?
版本:
路线:
更新:添加路线
angular - Angular Ivy 在手动更改检测方面特别允许我们做什么?
这篇文章提到
不过,常春藤为未来开辟了一些可能性。现在应该可以在没有 zone.js 的情况下运行应用程序,并且可以半手动地处理更改检测(有点像使用 React)。这些 API 已经存在,但只是实验性的,没有文档记录,并且可能会在不久的将来发生变化。
我认为在 Ivy 之前已经可以在没有 zone.js 的情况下运行应用程序。Ivy 是否允许半手动处理变更检测?那些实验性 API 在哪里?有文档吗?Ivy 还使用 zone.js 吗?
我的目标是通过手动触发将更改检测限制在最低限度。这样做的最佳选择是什么。具体来说,使用 Ivy 时最好的选择是什么。
angular8 - 如何不引导 Angular Web 元素进行延迟加载
我正在尝试构建一个角度应用程序来使用 @angular/elements 模块构建 Web 元素。
根项目将仅用于在标准独立应用程序中测试这些组件。
我创建了一个名为“元素”的项目,其唯一目的是创建组件并将它们作为 Web 元素分发,到目前为止效果很好。
我现在正在尝试延迟加载这些元素。当我真正使用组件时,我只想要相关的捆绑文件。
这是我的 app.module.ts,它定义了 web 元素:
我知道 Angular 需要一些东西来引导。我没有经典的 app.component.ts,因为我最终不需要它。前面的代码可以工作,但是在 main.js 中引导组件 cf-label 和 cf-adsl 是可以理解的,但这不是我想要的。你能建议一种方法来解决这个问题吗?
angular - 如何通过路由更改延迟加载应用程序
我的业务要求不是在单个应用程序中保留多个模块,而是需要创建多个可以分配小团队的小应用程序,并且应该单独维护。所以它将作为独立运行。
同样,所有小应用程序都需要在需要部署在服务器中的主应用程序中使用一次。我听说angular Ivy
- 功能。它也从这个视频动态加载应用程序:[https://www.youtube.com/watch?v=MMPl9wHzmS4&t=1066s][1]
- 但我无法清楚地理解那里的步骤。我也无法通过谷歌搜索找到教程或来源。
有人帮我解释如何打包一个小应用程序并通过延迟加载方法导入主应用程序吗?
提前致谢。