alt="Nrwl Connect platform">
What is Nx?🔎 Extensible Dev Tools for Monorepos.
Nx Helps You
Use Modern ToolsUsing Nx, you can add TypeScript, Cypress, Jest, Prettier, and Nest into your dev workflow. Nx sets up these tools and allows you to use them seamlessly. Nx fully integrates with the other modern tools you already use and love.
Build Full-Stack ApplicationsWith Nx, you can build full-stack applications using modern frameworks. You can share code between the frontend and the backend. And you can use the same
build/test/servecommands throughout the whole dev experience.
Develop like Google, Facebook, and MicrosoftWith Nx, you can develop multiple full-stack applications holistically and share code between them all in the same workspace. Nx provides advanced tools which help you scale your enterprise development. Nx also helps enforce your organization’s standards and community best practices.
Creating an Nx WorkspaceUsing
npx create-nx-workspace myworkspace
npm init nx-workspace myworkspace
yarn create nx-workspace myworkspace
If it's your first Nx project, the command will recommend you to install
@nrwl/cliglobally, so you can invoke
nxdirectly without going through yarn or npm.
Adding Nx to an Existing Angular CLI workspaceIf you are an Angular user, you can also add Nx to your existing Angular CLI project by running:
ng add @nrwl/workspace
Creating First ApplicationBy default, an Nx workspace starts blank. There are no applications to build, serve, and test. To create one, you need to add capabilities to the workspace.
To add an Angular app, run:
yarn add @nrwl/angular nx g @nrwl/angular:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/angular nx g @nrwl/angular:app myapp # or just "nx g myapp"
To add a React app, run:
yarn add @nrwl/react nx g @nrwl/react:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/react nx g @nrwl/react:app myapp # or just "nx g myapp"
To add a web components app, run:
yarn add @nrwl/web nx g @nrwl/web:app myapp # or just "nx g myapp"
npm install --save-dev @nrwl/web nx g @nrwl/web:app myapp # or just "nx g myapp"
nx gfails, use:
yarn nx g @nrwl/web:app myappor
npm run nx -- g @nrwl/web:app myapp.
Regardless of what framework you chose, the resulting file tree will look like this:
<workspace name>/ ├── apps/ │ ├── myapp/ │ └── myapp-e2e/ ├── libs/ ├── tools/ ├── nx.json ├── package.json ├── tsconfig.json └── tslint.json
nx serve myappto serve the newly generated application!
nx test myappto test it.
nx e2e myapp-e2eto run e2e tests for it.
Angular users can also run
You are good to go!
Quick Start & Documentation
- Angular at Large Organizations
- Nx: The New Way to Build Enterprise Angular Apps
- Supercharging the Angular CLI
- Hands on Full Stack development with Nx and Bazel
- nx-examples repo has branches for different nx comments to display expected behavior and example app and libraries. Check out the branch (workspace, ngrx...) to see what gets created for you. More info on readme.
- xplat - Cross-platform tools for Nx workspaces