7 comments

[ 4.3 ms ] story [ 29.4 ms ] thread

    The jsxLoader.js script was
    created to provide a fast method
    for including React with JSX on
    web pages and web apps with no
    build process
React does not have a standalone script that does that?

I was under the impression that these scripts do exactly that:

https://reactjs.org/docs/cdn-links.html

What am I missing?

Great Question. Looks like I need to make the document clearer on why.

All Demos and Templates use the React CDN links you listed.

The reason this file exists is so that JSX Code can be used in a browser without Babel. Babel Standalone can be used on pages but it is huge and takes a lot of memory and a few extra seconds to display the page. The [jsxLoader.js] file allows JSX to be used almost instantly.

I still don't get it. Why is Babel needed to use JSX?
Do you build React Apps?

If so what are you using other than Babel?

No.

So React itself brings no function to transform JSX into javascript clientside?

That's correct. In most cases React is used with client side tools `webpack`, `create-react-app` etc and all of these depend on Babel.

There is a Babel Standalone file that works when used directly on a page but it's huge 1.5 MB of JS so and it takes many seconds to process.

The `jsxLoader.js` file I created uses Babel Standalone for old browsers (IE 11) and then for modern browsers it transforms JSX to JS very quickly without the need for Babel.