0

如果我有多个特性和功能相似的角度“应用程序”,就像我有一个产品一样,我想为不同的客户量身定制它,但需求略有不同。

如何在单一代码库中进行开发?因为feature module,component似乎并没有停止追逐。

所以代码可以分类为

  • 常见的
  • 项目1
  • 项目2

所以当我构建时,它会根据我的选择为特定的应用程序编译。有点像Xamarin为 ios 和 android 共享一些代码。

4

2 回答 2

1

对于这个特定用例,我遇到的最常见的架构是创建一个 Angular 库。在该库中,您将拥有所有常见的业务逻辑。然后,您需要做的就是在您的各种应用程序中构建和共享库。希望对您有所帮助:) 这是一篇来自 Angular in Depth 关于在 Angular 中创建库的好文章

于 2019-01-17T20:00:17.673 回答
0

您可能需要有一个包含多个应用程序的 Angular 项目,这样您就可以运行特定应用程序的构建,只需修改您要运行的应用程序的名称即可。你可以配置 .angular-cli.json 像

    "apps": [
    { "name":"app1",
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main-resolver.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "styles.css",
       "../node_modules/@angular/material/core/theming/prebuilt/indigo-pink.css"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    },
    { "name":"app2",
      "root": "src",
      "outDir": "dist2",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main-luxury.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "styles.css",
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],

您可以在同一个项目中以角度尝试这个多个应用程序

于 2019-01-17T20:03:52.647 回答