7d038dfef1
This updates old examples to the more universal `npx` command. Fixes https://github.com/vercel/next.js/discussions/12103
54 lines
2 KiB
Markdown
54 lines
2 KiB
Markdown
# Yarn workspaces example
|
||
|
||
Workspaces are a new way to setup your package architecture that’s available by default starting from Yarn 1.0. It allows you to setup multiple packages in such a way that you only need to run yarn install once to install all of them in a single pass.
|
||
|
||
In this example we have three workspaces:
|
||
|
||
- **web-app**: A Next.js app
|
||
- **foo**: A normal node module
|
||
- **bar**: A react component, that gets compiled by Next.js (see [packages/web-app/next.config.js](./packages/web-app/next.config.js) for more info)
|
||
|
||
## Deploy your own
|
||
|
||
Deploy the example using [Vercel](https://vercel.com):
|
||
|
||
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/vercel/next.js/tree/canary/examples/with-yarn-workspaces)
|
||
|
||
## How to use
|
||
|
||
### Using `create-next-app`
|
||
|
||
Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init) or [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/) to bootstrap the example:
|
||
|
||
```bash
|
||
npx create-next-app --example with-yarn-workspaces with-yarn-workspaces-app
|
||
# or
|
||
yarn create next-app --example with-yarn-workspaces with-yarn-workspaces-app
|
||
```
|
||
|
||
### Download manually
|
||
|
||
Download the example:
|
||
|
||
```bash
|
||
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-yarn-workspaces
|
||
cd with-yarn-workspaces
|
||
```
|
||
|
||
Install it and run:
|
||
|
||
```bash
|
||
yarn
|
||
yarn dev
|
||
```
|
||
|
||
Deploy it to the cloud with [Vercel](https://vercel.com/import?filter=next.js&utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).
|
||
|
||
> Choose `packages/web-app` as root directory when deploying.
|
||
|
||
## Useful Links
|
||
|
||
- [Documentation](https://yarnpkg.com/en/docs/workspaces)
|
||
- [yarn workspaces](https://yarnpkg.com/lang/en/docs/cli/workspace)
|
||
- [yarn workspace](https://yarnpkg.com/lang/en/docs/cli/workspaces)
|
||
- [next-transpile-modules](https://www.npmjs.com/package/next-transpile-modules)
|