3 ms·
I’ve been unhappy with both options. Ejecting gives you an incredibly complicated configuration (as CRA needs configs that can handle _any_ project) with a hig
by williamdclt 2y ago
I’ve been unhappy with both options.
Ejecting gives you an incredibly complicated configuration (as CRA needs configs that can handle _any_ project) with a high maintenance cost as you say.
Not ejecting gave me other headaches. Any advanced stuff that wasn’t directly supported by CRA (that happened multiple times) required me to understand the underlying config _and_ how CRA interfaces with it _and_ how to force CRA to generate the right configs. The classic leaky abstraction problem. Plus, CRA wasn’t bug-free leading to its own problems where I also had to dig into internals. That’s all significant maintenance burden too (added complexity).
Out of the two options I’d almost certainly stick with “don’t eject”, but nowadays I heavily favour “don’t use these tools, keep build tooling simple”. And like so many people, I’m leaning more and more towards “it’s all so crazy complex (and broken) that it’s not worth it, don’t use React”. Things are getting _more_ complex with new developments rather than less, this is an insane ecosystem.
- JoeyJoJoJr 2y agoCRA was indeed a headache. Thankfully I use Vite now and I hardly ever think about it for my relatively simple SPAs. What stack/tools are you currently using?