Files
bun.sh/docs/dev/cra.md
Colin McDonnell f54300578b Add documentation (#2148)
* Add documentation

* Tweaks

* Fixes

* Rearrange

* Update
2023-02-23 17:13:30 -08:00

1.3 KiB
Raw Blame History

To create a new React app:

$ bun create react ./app
$ cd app
$ bun dev # start dev server

To use an existing React app:

$ bun add -d react-refresh # install React Fast Refresh
$ bun bun ./src/index.js # generate a bundle for your entry point(s)
$ bun dev # start the dev server

From there, Bun relies on the filesystem for mapping dev server paths to source files. All URL paths are relative to the project root (where package.json is located).

Here are examples of routing source code file paths:

Dev Server URL File Path (relative to cwd)
/src/components/Button.tsx src/components/Button.tsx
/src/index.tsx src/index.tsx
/pages/index.js pages/index.js

You do not need to include file extensions in import paths. CommonJS-style import paths without the file extension work.

You can override the public directory by passing --public-dir="path-to-folder".

If no directory is specified and ./public/ doesnt exist, Bun will try ./static/. If ./static/ does not exist, but wont serve from a public directory. If you pass --public-dir=./ Bun will serve from the current directory, but it will check the current directory last instead of first.