2017-04-05 91 views
15

我对Laravel并不陌生,但对JavaScript框架并不熟悉。设置Laravel 5.4使用React

我想在laravel build中使用React,但找不到任何有关如何执行此操作的信息。

我有Laravel 5.4。我知道这是预先挤满了Vue和Laravel Mix而不是Gulp。

我按照这里的教程︰https://blog.tighten.co/adding-react-components-to-a-laravel-app但这并不意味着5.4。它提到需要更新gulp文件,但由于Laravel 5.4不使用Gulp,所以没有一个!

有人可以请帮助一个小教程或几个步骤,我需要复制,以获得React在5.4工作?

我已经谷歌搜索,但只能找到NPM的链接,这是没有用的!

回答

22

感谢Joe指出我需要的部分文档。还有一点点,所以将在下面描述我的步骤以帮助其他人。

  1. 删除node_modules文件夹。这对于全新的版本不是必需的,但如果您已经遵循任何其他教程并安装了您不需要的东西,这可以节省一些麻烦。如果您没有node_modules文件夹,请忽略此步骤。

    请注意上述步骤将删除您使用NPM安装的任何东西。

  2. 从项目根目录运行npm install。这将安装Laravel使用的所有NPM组件。

  3. 打开webpack.mix.js和变化:

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

    mix.react('resources/assets/js/app.js', 'public/js') 
        .sass('resources/assets/sass/app.scss', 'public/css'); 
    
  4. 运行npm run dev从包含在上述问题上的教训编译的JavaScript。您的React JS输出现在应该可以工作。

  5. (可选)使用npm run watch即时编译。

我真的希望这可以帮助别人尽可能地帮助我!

+3

确保你从'package.json'中删除了不必要的依赖关系 - 否则'npm install'只会把你摆脱的所有垃圾放回去:p –

4

According to the docs,阵营支持内置在混合:

混合可以自动安装通天插件必要阵营的支持。要开始使用,更换您的mix.js()的调用mix.react():

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

在幕后,混合会下载并添加相应的巴贝尔预设反应的巴别塔外挂。

我不是100%肯定这是否会自动包含作出反应,你的输出束 - 我的猜测是没有(在这种情况下,你将不得不使用正常mix.js()呼叫拉它)。

+0

谢谢乔。还有一点要求,但我会在我自己的回答中发布,以便其他人看我的需求。 – Wildcard27

+0

@ Wildcard27:是的,我不太熟悉Laravel,所以我想我的答案可能没有完整的细节。很高兴你能够对它进行排序:) –

+0

说实话,我只是读了文档,因为我在某处读到Laraval只支持Vue。我希望我能找到它需要改正的地方! – Wildcard27