Want to use bun for your next react projects?
Install bun
First run the following command to check bun
is installed or not
bun -v
If you don't have bun
installed then run the following command to install bun
curl https://bun.sh/install | bash
Create a react app
Now run the following command to create a react app
bun create react [your-app-name]
It will create a new directory with the name of your app. To start the app run the following command
cd your-app-name
bun dev
Build production bundle for react app
By default bun
does not ship with react-scripts
so you need to install it first.
bun a react-scripts -d
Here we install it as a dev dependency.
Then run the following command to build the production bundle
bun react-scripts build
When you run the command above it will build the production bundle and it will be stored in the build
directory.
Adding scripts
to your package.json
We can add the following scripts to our package.json file
{
"scripts": {
"start": "bun dev",
"build": "react-scripts build"
}
}
Now we can run the following command to start the app
bun start
And we can run the following command to build the production bundle
bun run build
Bonus:
By default
bun
creates react app with javascript but we can easily use typescript by changing the file extension from.jsx
to.tsx
Latest comments (28)
Bro, it is slower than npm. Rather than we can use
Nowadays, the react template has been deprecated, the correct command should be:
Yes, I tried this one.
Since bun can directly execute .ts and .tsx files we can use the typescript template to setup a typescript project instead of js:
bun create react-app my-app --template typescript
not work
should be
bun create react-app <app-name>
why this happened?

I have a problem when bun start, bun dev. run on ubuntu in window
send() error: Invalid argument
500 GET / as application/octet-stream
What are advantages over nodejs?
HELP
This is really great, how about bun for Vite? Once again, thank you.
Could I use npm packages?
Yes you can ex:
Some comments have been hidden by the post's author - find out more