Reputation: 18544
I've got an existing project where I'd like to add an Angular application using the Angular CLI.
The project structure looks like this right now:
The client and shared folders are still empty and I'd like to install my angular app inside the client folder but still I want to maintain just one package.json for the whole project. That's why I tried to add the angular-cli.json with the following content:
{
"project": {
"name": "projectname"
},
"apps": [
{
"root": "./src/client",
"outDir": "./dist/browser"
}
]
}
The question:
What's the best way to add the Angular application (into /src/client) to my project now? I wasn't able to simply run ng new
because of the existing package.json and probably it wouldn't generate the app inside the /src/client folder then either.
Upvotes: 12
Views: 33346
Reputation: 491
Using ng new is still the easiest way to achieve this.
Create an angular project using ng new.
Move everything in the src folder to src/client
Adjust the root property in angular-cli.json (or angular.json) to src/client, also if you care about linting, adjust the linting property.
Set the extends property in tsconfig.app.json and tsconfig.spec.json to "extends": "../../tsconfig.json"
Test serving, building, testing and linting commands. They should work fine.
Copy the content from the server folder and add of its dependencies to package.json
Upvotes: 8
Reputation: 5607
The answer of @Austin752 seems to be outdated. According to the documentation the command to add an angular application to an existing project is (Angular CLI version 8.3.23):
$ ng generate application <name> [options]
Or
$ ng g application <name> [options]
see: https://angular.io/cli/generate#application-command
This will add the new app in the projects
folder in the root of your workspace
Upvotes: 9
Reputation: 604
There's a parameter --directory, at least in the latest version of Angular.
So now you just run
ng new <app-name> --directory <dir-name>
Upvotes: 2
Reputation: 29
I have recently worked on a project that required this type of setup. As of Angular 7.2 simply type
ng g a yourNewApp
That will create your new application in a projects folder
To create components in a newly created application
ng g c view1 --project=yourNewApp
Upvotes: 0