首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在延迟加载angular 2 NgModule中为加载子程序指定正确的路径名?

在延迟加载 Angular 2 NgModule 中为加载子程序指定正确的路径名,可以通过以下步骤实现:

  1. 首先,在主 NgModule 中定义一个路由配置,用于指定子程序的路径和加载模块的路径。例如:
代码语言:typescript
复制
const routes: Routes = [
  { path: 'lazy', loadChildren: 'app/lazy/lazy.module#LazyModule' }
];

这里的 loadChildren 属性指定了子程序的路径和加载模块的路径。app/lazy/lazy.module#LazyModule 表示子程序的模块文件位于 app/lazy/lazy.module.ts,并且模块的名称为 LazyModule

  1. 接下来,在主 NgModule 中使用 RouterModule.forRoot() 方法来配置路由。例如:
代码语言:typescript
复制
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

这里的 routes 是上一步定义的路由配置数组。

  1. 在子程序的 NgModule 中,使用 RouterModule.forChild() 方法来配置子程序的路由。例如:
代码语言:typescript
复制
const routes: Routes = [
  { path: '', component: LazyComponent }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class LazyRoutingModule { }

这里的 routes 是子程序的路由配置数组,LazyComponent 是子程序的组件。

  1. 最后,在子程序的 NgModule 中,将 LazyRoutingModule 导入到 imports 数组中,并在 imports 数组中添加其他依赖的模块。例如:
代码语言:typescript
复制
@NgModule({
  declarations: [LazyComponent],
  imports: [
    CommonModule,
    LazyRoutingModule,
    SharedModule
  ]
})
export class LazyModule { }

这里的 SharedModule 是子程序中使用的共享模块。

通过以上步骤,就可以在延迟加载的 Angular 2 NgModule 中为加载子程序指定正确的路径名。在实际应用中,可以根据具体需求进行相应的调整和扩展。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 启用预加载

在使用路由延迟加载,我们介绍了如何使用模块来拆分应用,在访问到这个模块时候, Angular 加载这个模块。但这需要一点时间。在用户第一次点击时候,会有一点延迟。...我们可以通过预加载路由来修复这个问题。路由可以在用户与其它部分交互时候,异步加载延迟模块。这可以使用户在访问延迟模块时候更快地访问。 本文将在上一个示例基础上,增加预加载功能。...在 Angular 渲染 Home 组件之后,用户就可以与应用交互了,我们可以通过简单配置在后台预加载其它模块。 启用预加载 我们在 forRoot 函数,提供一个预加载策略。...定制预加载策略 router 包预定义了两个策略: 不预加载 NoPreloading 预加载所有模块 PreloadAllModules 5 秒之后加载模块 但是,您可以自己定义一个定制策略。...加载指定模块 我们还可以在路由中定义附加参数来指定哪些模块进行预加载,我们使用路由定义 data 来提供这个附加数据。

1.5K00

Angular 路由配置(预加载配置,懒加载配置)

NgModule作为Angular模块核心,下面首先就来讲一讲。 1....NgModule 是打包时候用到最小单位,打包时候会检查所有 @NgModule 和路由配置,Angular底层是使用webpack打包。...NgModule 是 Router 进行异步加载最小单位,Router 能加载最小单位是模块,而不是组件。当然,模块里面只放一个组件是允许,很多组件库都是这样做2....forRoot()//在主模块定义主要路由信息 forChild()``//应用在特性模块(子模块)2)懒加载:loadChildren 此处并没有将对应模块加入到AppModule,而是通过...loadChildren属性值由三部分组成: 需要导入Module相对路径 #分隔符 导出模块类名称 (3)预加载 在使用懒加载情况下,路由第一次加载某个模块时,有时反应有延迟

3.1K30

模块化开发 Angular 应用

然后,我们将学习怎么使用我们模块来启用延迟加载,从而使应用更小,使用户体验更好。 我们开始吧! App Module 在 Angular 里面,一切皆可组织成模块。...也可以延迟加载模块。这是什么意思呢? Angular 程序下载体积很大。根据你用户场景,这是一个很大问题。特别是在移动端,加载一个应用程序可能需要耗费很长时间。...减少加载时间一种方法是将应用程序拆分成模块。 当你以惰性方式加载模块时,它不会包含在初始程序。相反,它仅在需要时候才下载。为啥要下载我们还没用得上组件呢,是吧? 那么,它是怎么工作?...AuthenticationModule', }, ] export const routing: ModuleWithProviders = RouterModule.forRoot(routes) 复制代码 非延迟加载组件由路径和组件属性指定...如果我们想在特定路由上延迟加载模块,我们可以使用 loadChildren 属性。这里我们指定模块路径和名称,用 # 分隔开。 之后,我们可以在我们 AppModule 中导入配置模块。

3K10

「微前端架构」微前端-Angular风格-第2部分

在前一部分,我讨论了转向MFE解决方案动机以及解决方案相关一些标准。在这一部分,我将介绍我们如何在Outbrain实现它。...进入Angular惰性加载特性模块 Angular有一个内建模块概念,它基本上是一个声明对象,用来指定封装在一个模块所有组件、指令、服务和其他模块。...: [] })export class AppB_Module {} 通过将模块文件指定为Webpack入口点,我们可以将整个Angular模块(包括css和html)打包一个单独js文件。.../app/appB.prod.module.ts' } 使用Angular延迟加载机制,我们可以动态加载这个js文件并引导到当前应用程序。...,从一个单独代码在一个单独构建系统,可以在运行时加载到应用程序和共享公共资源,角。

4.8K20

Angular 从入坑到挖坑 - 路由守卫连连看

一、Overview Angular 入坑记录笔记第六篇,介绍 Angular 路由模块关于路由守卫相关知识点,了解常用到路由守卫接口,知道如何通过实现路由守卫接口来实现特定功能需求,以及实现对于特性模块惰性加载...:是否允许通过延迟加载方式加载某个模块 在添加了路由守卫之后,通过路由守卫返回值,从而达到我们控制路由目的 true:导航将会继续 false:导航将会中断,用户停留在当前页面或者是跳转到指定页面...信息包含 admin 即可访问 crisis-center 页面,在针对子路由进行认证授权 canActivateChild 方法,通过判断 token 信息是否 admin-master 模拟完成对于子路由访问认证...标签,用来定义子路由渲染出口 危机中心 <a [...因此这里可以使用惰性加载方式在请求具体模块时才加载对应组件 惰性加载只针对于特性模块(NgModule),因此为了使用惰性加载这个功能点,我们需要将系统按照功能划分,拆分出一个个独立模块 首先通过

3.7K30

Angular 6+依赖注入使用指南:providedIn与providers对比

Angular 6我们提供了更好语法——provideIn,用于将服务注册到Angular依赖注入机制。...在Angular 6 发布以前, 唯一方法是在 providers: [] 中指定服务,如下: 根据具体使用场景, providers: [] 将有三种不同用法: 1、在预加载模块@NgModule...装饰器中指定 providers: [] 2、在懒加载模块@NgModule装饰器中指定 providers: [] 3、在@Component和@Directive装饰器中指定 providers...从技术上讲,'root'代表 AppModule ,但Angular足够聪明,如果该服务只是在惰性组件/服务中注入,那么它只会绑定在延迟加载bundle。...附注 - 延迟加载模块多重好处 Angular最大优点之一是我们可以非常容易将应用程序分成完全独立逻辑块,这有以下好处… 1、更小初始化代码,这意味着更快加载和启动时间 2、懒惰加载模块是真正隔离

2.7K11

angular基础面试题_java web面试题

angular用管道转换数据 Angular 典型数据转换提供了内置管道,包括国际化转换(i18n),它使用本地化信息来格式化数据。...使用Angular 2,和使用Angular 1相比,有什么优势?...灵活路由,具备延迟加载功能 更容易学习 angular1是全局监听,变量越多性能越差,angular2采用模块化监听,提升了性能 在Angular 2应用,我们应该注意哪些安全威胁?...就像任何其他客户端或Web应用程序一样,Angular 2应用程序也应该遵循一些基本准则来减轻安全风险。其中一些是: 避免组件使用/注入动态HTML内容。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

13K50

Angular12个经典问题,看看你能答对几个?(文末附带Angular测试)

Angular 2路由工作原理是什么? 路由是能够让用户在视图/组件之间导航机制。Angular 2简化了路由,并提供了在模块级(延迟加载)下配置和定义灵活性。 ...它是如何在Angular 2工作Angular 2不具有双向digest cycle,这是与Angular 1不同。...什么是延迟加载?如何在Angular 2启用延迟加载? 大多数企业应用程序包含用各式各样用于特定业务案例模块。捆绑整个应用程序代码并完成加载,会在初始调用时,产生巨大性能开销。...延迟加载使我们只加载用户正在交互模块,而其余模块会在运行时按需加载延迟加载通过将代码拆分成多个包并以按需加载方式,来加速应用程序初始加载过程。...在子模块路由中,将路径指定为空字符串“”,也就是空路径。RouterModule.forChild会再次采用路由数组子模块组件加载并配置路由器。

17.3K80

Ionic4与Ionic3部分比较

其实,Ionic2和Ionic3差别不大,而ionic4则变化比较大了,它支持angular、vue、react或其它任意js框架,甚至不使用js框架,它更像一个纯粹UI库。...image.png 二、路由差异 也许Ionic 4最显着变化,以及需要对现有应用程序进行最大改变变化,是转向Angular风格路由。...;后者注重代码管控,好处是它允许您指定导航“方向”,这将有助于Ionic 正确显示页面过渡。...三、组件和指令变更 Ionic为了更通用化,把原来指令调整更通用标准属性方式,icon-right调整slot="end", large变成size="large",<button ion-button...action-sheet-controller loading-controller …… 前面2个一般是有自定义UI,在ionic3是可通过自定义组件注入ViewController来关闭窗口,

6.9K10

Angular 工具篇之国际化处理

: –input:抽取字符串目录; –output:抽取结果输出目录; –sort:保存输出文件时, 按照字母顺序对键进行排序; –format:指定输出文件格式,支持 json、namespaced-json...接着我们需要分别更新 zh-cn.json、zh-hk.json 和 en.json 文件: { "hello": "hello {{value}}", "home": "首页" } 最后我们在介绍如何在加载模块启用国际化...懒加载模块国际化 假设我们已经定义了一个 UserModule 懒加载模块,该模块内包含一个 UserComponent 组件,具体如下: user.module.ts import { NgModule...forChild() 方法,用于懒加载模块使用。...,在实际开发还会遇到很多其他问题,这时就需要大家认真阅读上述库相关说明文档。

2K20

Angular Provider 作用域

], providers: [UserService] }) 在 Angular 6 之后,我们也可以利用 @Injectable 元数据来配置服务类,: import { Injectable...因此当我们在跟模块配置某个服务后,这个服务将在整个应用程序可用。需要注意是在非懒加载特性模块,如果我们也注册了同一个服务。在根模块和特性模块是使用同一个服务实例,即服务是单例。...因为在编译阶段,非懒加载特性模块 UserModule 配置 providers 会与 AppModule 配置 providers 进行合并,当发现使用同样 Token 时,AppModule...配置 provider 会生效,此后 Angular 会根据合并 providers 创建根级注入器。...当在懒加载模块中使用模块外服务时,它将使用根注入器创建服务实例。但如果已经在懒加载模块中注册了 provider,在模块内获取对应服务时,它将从模块子注入器获取对应服务实例。

1.8K20

Angular性能优化实践——巧用第三方组件和懒加载技术

为了帮助开发者深入理解和使用Angular,本文将以我司客户中最为典型业务场景——在线表格编辑例,演示如何借助懒加载技术,在基于 Angular框架实现在线导入导出Excel以及数据在线填报功能...经过调研,发现在Angular默认NgModule都是急性加载,也就是会在应用加载时尽快加载。无论是否要立即使用,所有模块都会一并加载。...因此,对于多路由大型应用,建议采用懒加载——按需加载NgModule模式。通过懒加载可以减少初始包尺寸,从而减少加载时间。 什么是懒加载? 在Web应用程序,系统瓶颈常在于系统响应速度。...在懒加载模块路由模块,添加一个指向该组件路由。本次demo存在两个懒加载模块。 ? ? 2. 建立导航UI 虽然可以直接在地址栏直接输入URL,但是有导航UI会更好用。...除了懒加载Angular还提供了很多性能优化方式,浏览器缓存策略、RxJS、Tree Shaking、使用AoT编译等,用好这些技术能让你项目性能有所提升,用户提供更良好使用体验。

4K20

Angular--Module使用

模块Module Angular 应用基本构造块是NgModule, 它为组件提供了编译上下文环境。 Angular 应用就是由一组NgModule定义。...NgModule 可以将其组件和一组相关代码(服务)关联起来,形成功能单元。...imports(导入表) —— 其他模块,本NgModule声明组件需要使用它们导出类。 providers —— 本模块向全局服务贡献那些服务创建器。 这些服务能被本应用任何部分使用。...@NgModule 参数是一个元数据对象,用于描述如何编译组件模板,以及如何在运行时创建注入器。...2.常用模块NgModules NgModule Import it from Why you use it BrowserModule @angular/platform-browser 当你想要在浏览器运行

4.9K40

Angular2 之 路由与导航基础知识路由模块组件路由路由守卫

导航是很简单,只是不同页面之间切换,路由是实现导航一种。 一个url对应一个页面,在angular2是一个组件。定义一个规则。...路由是从@angular/router包引入。 路由都是需要进行配置。而这个配置需要也就是RouterModule模块。 一个路由配置 path不能用斜线/开头。...import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/...可以在路由配置添加守卫来进行处理。守卫可以返回一个boolean值,true时,导航过程继续,false时,导航被取消,当然这时候也可以被导航到其他页面。...那些只访问应用程序某些区域用户加快加载速度。 路由器用loadChildren属性来映射我们希望惰性加载捆文件,这里是AdminModule。

3.3K10

小心 Angular 单例 Service

, AdminDataService] }) 我们在刚开始接触Angular时候,总是不计后果将所有service都使用@NgModule()来声明,这将会造成一个不易发现问题: You are...(https://github.com/angular/angular/blob/674c3def319e2c444823319ae43394d46f3973b7/packages/core/src/view...译者注 之所以翻译了这篇文章,是因为今天在整理项目代码时候,偶然发现了这个问题,虽然我使用Angular也有一段时间了,但是依然将很多没有必要声明在NgModule服务以单例模式方式声明了。...文章中指出问题确实是一个重要但又难以发现问题。 大体总结一下Angular声明service不同方式和应用场景。...但是有一个特例,懒加载模块service是会在模块加载时重新创建一个实例,懒加载模块均会注入后创建service实例,因此懒加载模块与非懒加载模块间service非单例。

2K30

Angular 6.x 快速入门

2.x', 'Angular 4.x', 'Angular 6.x']; } } 第五节 - 事件绑定 在 Angular ,我们可以通过 (eventName) 语法,实现事件绑定。...基础知识 事件绑定语法 介绍完事件绑定语法,接下来我们来第五节 UserComponent...1.x 表单 ) Reactive Forms - 响应式表单 本小节主要介绍模板驱动式表单,接下来我们来演示如何通过表单来我们之前创建 UserComponent 组件,增加让用户自定义技能功能...@Injectable({ providedIn: 'root' }) export class MemberService {} (2) 在应用地方,导入已创建服务,: import {...router-outlet 指令 该指令用于告诉 Angular 在哪里加载组件,当 Angular 路由匹配到响应路径,并成功找到需要加载组件时,它将动态创建对应组件,并将其作为兄弟元素,插入到

14.1K20

Angular系列教程-第五节

1.模块 NgModule 是一个带有 @NgModule 装饰器类。 @NgModule 参数是一个元数据对象,用于描述如何编译组件模板,以及如何在运行时创建注入器。...1.1根模块和特性模块 应用最少有一个模块(根模块) 特性模块是用来对代码进行组织模块。 2.服务和依赖注入 服务是一个广义概念,它包括应用所需任何值、函数或特性。...依赖注入 在 Angular ,要把一个类定义服务,就要用 @Injectable() 装饰器来提供元数据,以便让 Angular 可以把它作为依赖注入到组件。...指定 Git 应忽略不必追踪文件 README.md 根应用简介文档....angular.json 工作区所有项目指定 CLI 默认配置,包括 CLI 要用到构建、启动开发服务器和测试工具配置项。

2.9K20
领券