Angular 2建筑单模块

时间:2017-04-14 15:30:56

标签: angular

我知道如何使用Angular CLI构建我的项目:ng build --prod

如何单独编译每个模块?这是我的项目:

Image

AnagAccreditamentocruscottofiliera是单独的模块,包含module.tsrouting.module.ts文件。我如何单独构建它们并在以后将它们插入到我的项目中,好像它们是库?

2 个答案:

答案 0 :(得分:0)

如果您希望能够根据需要提取模块,则需要延迟加载。您可以在此处了解如何使用延迟加载:https://angular.io/docs/ts/latest/guide/router.html#!#asynchronous-routing

或者在这里有一个关于它的Pluralsight课程:https://app.pluralsight.com/library/courses/angular-routing/table-of-contents

答案 1 :(得分:0)

不确定angular2,但是您可以(!)肯定使用angular 10进行此操作。不确定这样做是否正确(或者进一步分离是否是一个好主意)。

要在单个项目中构建多个模块:

  1. 您显然需要多个模块。因此,不仅app.module.ts,而且还有一个包含类似模型配置内容的东西,即app-extension.module.ts

  2. 因此,您需要另一个main.ts文件,引用该模块。即称为main-extension.ts。您可以在此处导入特定模块并进行引导。

  3. tsconfig.app.json-> tsconfig.app-extension.json

    相同
  4. 接下来,在您的angular.json文件中,您可以通过添加以下内容来扩展项目->架构师->构建部分:

       "configurations": {
         "extension": {
           "main": "src/main-extension.ts",
           "tsConfig": "tsconfig.app-extension.json",
           "outputPath": "../resources/public/extension"
         }
    
  5. 最后在您的package.json中添加一个新脚本

         "build:extension": "ng build && ng build --output-hashing none --configuration extension "
    

    --output-hashing none与这里无关。我这样做是为了构建可独立使用的自定义元素模块/ webcomponents,所以这就是为什么我将其留在这里。下一步将是连接。更好的选择可能是为此目的使用https://github.com/manfredsteyer/ngx-build-plus#readme

简单地构建 执行npm run build:extension