当前位置: 首页 > 面试题库 >

Angular 2-将模块移至自己的项目

戚飞
2023-03-14
问题内容

我正在尝试使用angular
2创建类似门户的功能,该功能将提供基本导航和全局服务(例如身份验证),但允许其他开发人员创建自己的模块,这些模块从根本上插入到门户中。

我正在使用angular-
cli,并通过在项目内部创建的模块(请参见下面的树)进行了快速的概念验证,这些模块通过路由器(带有loadChildren)被延迟加载到app.module中。每个子模块都有自己的路由器,并且从根本上与父门户(app.module)分离。

我最终希望将这些子模块移到他们自己的项目中,但是绝对不知道从哪里开始,并且与该在线相关的信息似乎很少。如果有人知道一个示例或可以演示如何进行设置,我将非常感激。

编辑:如果可能的话,我想继续使用Angular-CLI功能

这是我的目录结构。模块1、2和3需要进入自己的项目。

+-- app
│   +-- app.component.css
│   +-- app.component.html
│   +-- app.component.spec.ts
│   +-- app.component.ts
│   +-- app.module.ts
│   +-- module1
│   │   +-- dataflows
│   │   │   +-- dataflows.component.css
│   │   │   +-- dataflows.component.html
│   │   │   \-- dataflows.component.ts
│   │   +-- module1.component.css
│   │   +-- module1.component.html
│   │   +-- module1.component.ts
│   │   +-- module1.module.ts
│   │   \-- other
│   │       +-- other.component.css
│   │       +-- other.component.html
│   │       \-- other.component.ts
│   +-- index.ts
│   +-- module2
│   │   +-- module2.component.css
│   │   +-- module2.component.html
│   │   +-- module2.component.ts
│   │   \-- module2.module.ts
│   \-- module3
│       +-- dummy1
│       │   +-- dummy1.component.css
│       │   +-- dummy1.component.html
│       │   \-- dummy1.component.ts
│       +-- module3.component.css
│       +-- module3.component.html
│       +-- module3.component.ts
│       +-- module3.module.ts
│       \-- dummy2
│           +-- dummy2.component.css
│           +-- dummy2.component.html
│           \-- dummy2.component.ts
+-- index.html

问题答案:

我终于弄清楚了如何使用SystemJS而不是Webpack / Angular CLI来使其工作。

我基本上将模块移到了自己的项目中,并通过子项目tsconfig.json文件中的outFile:属性使用了“ npm run
tsc”。您还必须在tsconfig.json文件中设置“ module”:“ system”

然后,我将生成的编译模块手动复制到主项目的根目录中。

为了使延迟加载起作用,我在路由器配置中使用loadChildren:’test.module’并添加:

bundles: {
    'test.module.js': ['test.module']
}

到我的systemjs.config.js

希望这对尝试实现这种设置的其他人有所帮助。



 类似资料:
  • 创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了。下面这个例子将会使它更加清晰。 创建你自己的模块 例8.3 如何创建你自己的模块 #!/usr/bin/python # Filename: mymodule.py defsayhi():     print'Hi, this is mymodule speaking.' version

  • 问题内容: 我正在使用angular2和gulp开发一个节点应用程序。我编写了一个组件文件login.ts,如下所示: 我的bootstrap.ts文件是: 但是当我编译这些文件时,出现以下错误: 这是我的tsconfig.json: 我已经使用以下命令安装了angular2的类型: 请帮助纠正错误。 问题答案: @simon错误说的是输入错误。但是对于其他进口商品,我已经发布了此答案,可能对其他

  • 问题内容: 我有一个像这样的DataFrame: 我想要得到的是 到目前为止,这是我的方法。 有没有有效的方法来实现这一目标?这是减慢速度的方法。谢谢您的助手!:) 我的真实数据大小 问题答案: 这是使用justify-的NumPy解决方案- 如果要节省内存,请改回分配-

  • 本文向大家介绍Angular2  NgModule 模块详解,包括了Angular2  NgModule 模块详解的使用技巧和注意事项,需要的朋友参考一下 Angular的模块的目的是用来组织app的逻辑结构。 在ng中使用@NgModule修饰的class就被认为是一个ng module。NgModule可以管理模块内部的Components、Directives、Pipes,引入Service

  • 问题内容: 我有一个关于Bitbucket的项目。仅提交源。为了将项目检索到新机器上,我在IntelliJ中使用了Version Control> Checkout from Version Control。 然后,它询问我是否要从该源创建一个新项目,对此我回答“是”。到目前为止,一切都很好。它为我创建了一个不错的Java小项目,由一个模块组成。 但是,将这个项目引入IntelliJ的目的是将其变

  • 这个对话框是 “高级自解压选项”对话框 的一部分,允许选择 自解压 模块。 注意并不是所有的模块都支持高级自解压选项。它只被图形界面 RAR 和 ZIP 模块( Default.SFX 和 Zip.SFX ) 支持,而不被 控制台 RAR 模块 ( WinCon.SFX ) 支持。