- Root
package.json
,tsconfig.json
, etc. to manage common settings & dependencies - Works correctly with JetBrains IDEs (WebStorm, IDEA, PyCharm, GoLand, etc.)
- Project level
package.json
to overrider/add project specific settings & dependencies
-
Consistent configuration across multiple projects
-
Quick refactoring across multiple projects
(e.g. renaming method in library with instant refactoring of all dependent projects) -
Quicker to pull & setup due to single
node_modules
so you don't need to install same packages multiple times -
Quicker & easy to update common dependencies
To run specific Ionic sub-project execute:
ionic serve --project {PROJECT_ID}
π node_modules
π projects
π apps
π ang1 (angular app)
...
π ionic1 (first Ionic app)
π package.json
...
π ionic2 (second Ionic app)
π package.json
...
π libs
π lib1
π package.json
...
π lib2
π package.json
...
π angular.json
π ionic.config.json
π package.json
π tsconfig.json
π tslint.json
-
About lazy loading from packages in Angular: angular/angular-cli#6373 (comment)
-
Initial idea for this setup is taken from this article: https://devdactic.com/ionic-multi-app-shared-library/
-
Ionic documentation https://beta.ionicframework.com/docs/cli/configuration#multi-app-projects
-
Angular multiple projects workspace https://angular.io/guide/file-structure#multiple-projects
Here is list of projects that use this setup
- Sneat project apps
Create a pull request to add a link to your project here.
Licensed under MIT license - no restriction do whatever you want.