关于angular2:Angular单运行时多项目共享依赖方案

ngx-center一个核心,多个...... 应用介绍(视频) 这是什么?一个 Angular 单运行时多我的项目共享依赖的解决方案只启动一个 Angular 平台(PlatformRef),其余子项目进行导出(类 es6 module),通过资源文件清单(或独自 js 文件)进行申请加载性能反对子项目在开发时代码变更的刷新反对子项目调用主我的项目导出的命名(export * from 'xxx')反对子项目及主我的项目的 splitChunks(包含懒加载等...)反对懒加载路由的子项目申请及其他动静模块的申请反对可信的近程子项目开发不须要理解各种概念,因为导出导入解决齐全遵循动静import的类解决计划子模块构建速度极快,且在大多数工夫不须要向 node 申请内存实践上子项目同时能够加载子项目,也就是能够存在多层级子项目的加载能够通过子项目嵌套其余框架反对的调用通过在编译时构建形成关系,对源代码无侵入性,不须要过多革新依赖Angular10 Angular11 Angular12node12+原理依赖共享也就是node_modules中的依赖变成 dll(动态链接库),主,子利用都应用这个 dll 保障实例的一致性命名共享主我的项目的命名会导出,供子项目用,实现子项目调用主我的项目的组件/模块/服务/管道等 ng 与非 ng 的导出子项目资源启动主我的项目通过启动子我的项目的资源文件/资源配置,来加载子项目资源,并且在加载后实现主动取得子项目的导出,能够作为懒加载路由,懒加载模块等动静应用的中央调用应用办法本我的项目依赖的是 Angular 的ng generate命令,疾速生成开发骨架相干插件可在在webpack-ng-dll-plugin,'webpack-bootstrap-assets-plugin查看,或者可手动配置文件倡议先在新我的项目中应用,待理解实现后,再应用到已有我的项目中主我的项目初始化运行npx ng g ngx-center:main-init配置/** * 主我的项目初始化 */declare interface MainInitSchematics { /** * 链接库(lib)名称,默认dll */ dllName?: string; /** * 主我的项目的名字(为空读取默认值) */ projectName?: string; /** * 应用裸露webpack配置的形式(交互) */ webpackMode?: string; /** * 将webpack晋升到根依赖(yarn会默认晋升) */ webpackPromotion?: boolean;}除了webpackMode外,其余配置均为静默设置,除非应用-xxx yyy显式设置运行实现后,能够先执行npm run build:center-dll生成 dll 库,再运行npm run start:center-main启动主我的项目 ...

June 9, 2021 · 2 min · jiezi

关于angular2:在-Angular-项目中如何为项目单独创建路由文件

应用 Angular Cli 创立一个我的项目时,如果不加任何的后缀参数,那么生成的我的项目默认是没有路由模块的。那么,如何让创立的 Angular 我的项目有路由模块/路由文件呢? 两个方法: 1 在最开始创立我的项目的时候,带上参数: --routing=true|false 2 如果曾经创立好了我的项目,不想删除已有我的项目,从新创立我的项目的话,应用生成 module 的命令来创立路由文件,不过要加上一些参数: ng generate module app-routing --flat --module=app 其中:--flat 示意将生成的文件放到我的项目的顶层,而不是独自创立一个目录;—module=app 是通知 CLI 把创立的这个路由文件注册到 AppModule 根模块中,行将路由文件的类的名字放到 AppModule 的 imports 数组中。 参考:https://www.jianshu.com/p/7619ab2cadd7 https://angular.cn/cli/generate#module

March 1, 2021 · 1 min · jiezi