1

I'm learning ReactJS and everything works fine when it's in one file.

I'm loading it like this <script type="text/babel" src="js/test.js"></script> because if I use type "text/javascript" the browser can't read the jsx eventhough I've seen examples with that type that work.

The problem comes when I split up the functions and variables in different files.

Let's say I have file1.js (pure js), file2.js , file3.js (jsx) that I load like this

<script type="text/javascript" src="js/file1.js"></script>
<script type="text/babel" src="js/file2.js"></script>
<script type="text/babel" src="js/file3.js"></script>

Everything in file1 loads normally.

If I invoke something in file2/file3 that is from file1 it works.

But the other way around or between file2 and file 3 there is no connection at all.

If I have var a = 10; in file2 it is undefined in file1 or file3.

Same for var a = 10; in file3.

If I have console.log("I'm going through file2"); after the variable initialization it does print in the console but the variable is still undefined in file1 and file3.

I tried putting the loading script tags on different places, tried different composition but still it doesn't work.

I'm guessing it's a problem with the "translation" that babel makes but if I try to load the file as a normal js I get the Unexpected token < syntax error.

What is the right way to connect multiple jsx files?

P.S. Everything is tested on $(document).ready() event.

1

1 Answer 1

1

Once you get beyond playing with one file it is best to start using build tools like webpack or browserify. Here are starter projects using webpack. ReactPatterns

Sign up to request clarification or add additional context in comments.

1 Comment

Above links are outdated. :|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.