【问题标题】:Setup Laravel 5.4 to use React设置 Laravel 5.4 以使用 React
【发布时间】:2017-04-05 10:14:47
【问题描述】:

我对 Laravel 并不陌生,但对 JavaScript 框架很陌生。

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

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

我正在关注这里的教程:https://blog.tighten.co/adding-react-components-to-a-laravel-app 但这并不适用于 5.4。它提到需要更新 gulpfile,但由于 Laravel 5.4 不使用 Gulp,所以没有!

有人可以帮忙提供一个小教程或我需要复制的几个步骤以使 React 在 5.4 中工作吗?

我用谷歌搜索了,但只能找到 NPM 链接,这没什么用!

【问题讨论】:

    标签: laravel reactjs webpack gulp


    【解决方案1】:

    感谢 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 即时编译。

    我真的希望这能像它帮助我一样帮助别人!

    【讨论】:

    • 确保你也从你的package.json 中删除了不必要的依赖项——否则npm install 只会把你摆脱的所有垃圾放回那里:p
    【解决方案2】:

    According to the docs,React 支持内置于 Mix:

    Mix 可以自动安装 React 支持所需的 Babel 插件。要开始使用,请将您的 mix.js() 调用替换为 mix.react():

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

    在幕后,Mix 将下载并包含适当的 babel-preset-react Babel 插件。

    我不能 100% 确定这是否会自动将 React 包含在您的输出包中 - 我的猜测是否定的(在这种情况下,您必须使用普通的 mix.js() 调用来将其拉入) .

    【讨论】:

    • 谢谢乔。还有一点需要,但我会在我自己的答案中发布,以便其他人看到我找到他们需要的东西。
    • @Wildcard27:是的,我对 Laravel 不太熟悉,所以我认为我的答案可能没有完整的细节。很高兴你能够对其进行排序:)
    • 老实说,当我在某处读到 Laraval 仅支持 Vue 时,我只是浏览了文档。我希望我能找到需要纠正的地方!
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2017-12-05
    • 2017-12-27
    • 2019-03-23
    • 2018-04-05
    相关资源
    最近更新 更多