π Extensible Dev Tools for Monorepos.
Using Nx, you can add TypeScript, Cypress, Jest, Prettier, Angular, React, Storybook, Next.js 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.
With 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/serve commands throughout the whole dev experience.
With 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.
Using npx
npx create-nx-workspaceUsing npm init
npm init nx-workspaceUsing yarn create
yarn create nx-workspaceIf it's your first Nx project, the command will recommend you to install @nrwl/cli globally, so you can invoke nx directly without going through yarn or npm.
By 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 a web components app, run:
yarn add --dev @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"To add an Angular app, run:
yarn add --dev @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 --dev @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"If nx g fails, use: yarn nx g @nrwl/web:app myapp or 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
- Run
nx serve myappto serve the newly generated application! - Run
nx test myappto test it. - Run
nx e2e myapp-e2eto run e2e tests for it.
Angular users can also run ng g/serve/test/e2e.
You are good to go!
|
Angular |
React |
|
|
|
- Building Angular full-stack applications in a monorepo.
- Building React full-stack applications in a monorepo.
- 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
If you want to file a bug or submit a PR, read up on our guidelines for contributing and watch this video that will help you get started.
| Victor Savkin | Jason Jean | Benjamin Cabanes | Brandon Roberts |
|---|---|---|---|
| vsavkin | FrozenPandaz | bcabanes | brandonroberts |
| Jack Hsu | Jo Hanna Pearce | Matt Briggs |
|---|---|---|
| jaysoo | jdpearce | mbriggs |