Setup Laravel 5.4 to use React

╄→尐↘猪︶ㄣ 提交于 2019-12-03 01:50:06

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.

  1. 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 a node_modules folder, ignore this step.

    Please note that the above step will remove anything you have installed using NPM.

  2. Run npm install from your project root. This will install all NPM components used by Laravel.

  3. Open webpack.mix.js and change:

    mix.js('resources/assets/js/app.js', 'public/js') 
        .sass('resources/assets/sass/app.scss', 'public/css');
    

    to

    mix.react('resources/assets/js/app.js', 'public/js')
        .sass('resources/assets/sass/app.scss', 'public/css');
    
  4. Run npm run dev to compile the Javascript from the lesson contained in the question above. Your React JS outputs should now be working.

  5. (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:

Mix can automatically install the Babel plug-ins necessary for React support. To get started, replace your mix.js() call with mix.react():

mix.react('resources/assets/js/app.jsx', 'public/js');

Behind the scenes, Mix will download and include the appropriate babel-preset-react Babel plug-in.

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).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!