如何管理包含共享功能的不同应用的单个角度项目

时间:2019-01-17 19:30:21

标签: angular git modularity code-sharing

如果我有多个有角度的“应用程序”,它们在功能和功能上相似,例如我有一个产品,并且我想针对具有稍微不同需求的不同客户量身定制它。

如何在单一代码库中进行开发?由于feature modulecomponent似乎并没有消除追赶。

因此该代码可以归类为

  • 常见
  • project1
  • project2

因此,当我构建时,它将根据我的选择针对特定的应用程序进行编译。像Xamarin一样,为iOS和android共享一些代码。

2 个答案:

答案 0 :(得分:1)

在此特定用例中,我遇到的最常见的体系结构是创建Angular库。在该库中,您将拥有所有常见的业务逻辑。然后,您要做的就是在各种应用程序之间构建和共享该库。希望有帮助:) 这是一篇深度{@ {3}}

上来自Angular的好文章

答案 1 :(得分: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"
      }
    }
  ],

您可以尝试multiple apps in the same project in angular