Create React App

(Stoke Master Jack) #1

Is anyone actually using “Create React App”? For real projects?

I have looked at it and I’m a bit skeptical.

The part that worries me is this:

No Lock-In: You can “eject” to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.

My instinct tells me that this is kind of misleading. When you get to the point where you need to eject, the code you are left with at that point is super advances and impossible to maintain. I think you are better off using a simple webpack file to start out - without Create React App.

What do you think?

(Noitidart) #2

I am using it on two live projects.

My only problem is that I need to use custom babel settings, but I cannot. I can live with it.

I agree with the eject being misleading. Once you eject, I think you’re pretty much stuck, unless you know how creat-rect-app was handling stuff internally. That’s why I never recommend ejecting if you use create-react-app.

(Jakob Lind) #3

I agree with your concern. create-react-app has many use cases: learning, hobby projects, small apps, tools, internal tools, small projects. But bigger and more critical applications deserves a deep knowledge about the build system which you achieve by coding it yourself.

Unless you are under time pressure, I would invest in coding/learning webpack now rather than later (when ejecting)

(l1x) #4

We are using it and there is no lock in at all. It also works very well.

(Mikayel) #5

If you need minimum dependencies (only React, react-router v4 and Webpack v2). You can try

I have created very simple webpack.config.js, just copy it. It will work for any web server.

(Pavel Hasala) #6

I use it on two big scale projects, and most of my small projects and fiddles.

(Chathula Sampath) #7

i don’t think so… it is hard to expand with webpack… :-/

(Mark Volkmann) #8

I love, love, love create-react-app! I mostly wouldn’t consider working on a React project without it. I have used it on two real projects and use it every time I want to experiment with something. It sets up so much for me out of the box. I can add more by adding npm scripts without ejecting. For example, I have added use of Sass and Flow.

(Frazer) #9

how did you add Sass without ejecting?

(Peter Bengtsson) #10

I summarized my views here:

(Mark Volkmann) #11

Frazer, here a link that describes how to integrate Sass into a create-react-app application.

(Louis DeScioli) #12

I’ve used create-react-app to start a handful of “real” projects. I’ve ejected from each of them, but have been very happy with using the CRA scaffold as a starting point. I’ve found the code left from ejection to not only be readable, but made me a better programmer from reading their decisions, patterns, and use of webpack. Their abstraction between CRA and react-scripts has been a good one.

As an analogy, I think it’s much easier to start with a nice big ball of clay and shave it down to where you want it, rather than start with a bucket of water and a pile of soil. After a few times of doing molding your base, you’ll understand what you want and need out of all of it, then you can use that as your starter — copy and pasting some webpack config and build scripts, or cloning from a starter repo.

(Frazer) #13

Great! Thank you. I guess they added that since we last looked at it.

(Mark Volkmann) #14

Yes, it’s a fairly new addition.

(Daniel Serrano) #15

I’ve ejected my app only to discover that there’s no config folder created and I have no idea where the webpack config files ended. Quick help? :stuck_out_tongue: