I am not new to Laravel but am new to JavaScript frameworks.
I want to use React in a laravel build but cannot find any information on how to do this.
I have Laravel 5.4. I know this comes pre-packed with Vue and Laravel Mix instead of Gulp.
I am following the tutorial here: https://blog.tighten.co/adding-react-components-to-a-laravel-app but this is not meant for 5.4. It mentions needing to update the gulpfile but, since Laravel 5.4 doesn't use Gulp, there isn't one!
Can someone please help with a small tutorial or a couple of steps that I need to replicate in order to get React working in 5.4?
I have Googled but can only find NPM links, which are less than useful!
Thanks to Joe for pointing out the part of the docs that I needed. There was a little more to it so will describe my steps below to help anyone else out.
Delete the
node_modules
folder. This isn't necessary for brand new builds but if you have followed any other tutorials and installed things you don't need, this will save a few headaches. If you don't have anode_modules
folder, ignore this step.Please note that the above step will remove anything you have installed using NPM.
Run
npm install
from your project root. This will install all NPM components used by Laravel.Open
webpack.mix.js
and change:to
Run
npm run dev
to compile the Javascript from the lesson contained in the question above. Your React JS outputs should now be working.(optional) Use
npm run watch
to compile on the fly.I really hope this helps someone else out as much as it helped me!
According to the docs, React support is built in to Mix:
I'm not 100% sure whether or not this'll automatically include React in your output bundle - my guess would be no (in which case you'll have to use a normal
mix.js()
call to pull it in).