Как управлять одним угловым проектом, содержащим разные приложения с общими функциями - PullRequest
0 голосов
/ 17 января 2019

Если у меня есть несколько угловых «приложений», которые похожи по функциям и функциям, как у меня есть один продукт, и я хочу адаптировать его для другого клиента с немного различными потребностями.

Как мне разработать единую кодовую базу? Потому что feature module, component не похоже на погоню.

Таким образом, код можно классифицировать как

  • общий
  • project1
  • project2

поэтому при сборке он будет компилироваться для конкретного приложения на основе моего выбора. Немного похоже на Xamarin общий доступ к коду для iOS и Android.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Возможно, вам понадобится проект 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"
      }
    }
  ],

Вы можете попробовать это несколько приложений в одном проекте в угловом

0 голосов
/ 17 января 2019

Наиболее распространенная архитектура, с которой я сталкивался для этого конкретного случая использования, - это создание библиотеки Angular. В этой библиотеке у вас будет вся ваша общая бизнес-логика. Тогда все, что вам нужно сделать, это собрать и поделиться библиотекой среди ваших различных приложений. Надеюсь, это поможет :) Вот хорошая статья из Angular in Depth о создании библиотеки в Angular

...