IT虾米网

cakephp之在 CakePHP 项目中设置 React

jirigala 2025年12月25日 程序员 154 0

如何使用 webpack 在 CakePHP webroot 中设置 React?

我有一个现有的 CakePHP项目(带有模型、 View 、 Controller )。我要设置迷你React项目位于其 webroot (Project/Miniproject/index.html) 中。 index.html 将对 Controller 中定义的 api 进行 ajax 调用。

- Project 
| - app 
| | - Controller 
| | - View 
| | - Model 
| | - webroot 
| | | - Miniproject 
| | | | - index.html [Mini react project] 

我尝试安装React Transform Boilerplate 。但它使用 Web 开发服务器(并在 localhost:3000 上呈现文件)。但我想要从运行 CakePHP 项目的 nginx 服务器渲染文件。

当我访问 URL (Project/Miniproject/index.html) 时,它找不到 dist/bundle.js,因为它在内存中。那么如何使用 webpack 在 CakePHP webroot 中设置 React?

请您参考如下方法:

我建议查看https://github.com/brawlins/react-webpack-php-starter

您仍然可以通过 BrowserSync 让 Webpack 运行开发服务器,并且您将使用代理选项来重新加载您的 apache 虚拟主机。 (不必使用 webpack-dev-server )

例如在你的 webpack.config.js 中

plugins: [ 
 
        // reloads browser when the watched files change 
        new BrowserSyncPlugin({ 
            // use existing Apache virtual host 
            proxy: 'http://localhost:80/', 
            tunnel: false, 
            // watch the built files and the index file 
            files: ['public/assets/*', './index.php', './api/*.php'] 
        }), 

希望这是有道理的。挖掘我链接的存储库中的代码并稍微尝试一下。一旦您了解了@brawlins 如何设置他的项目。您应该能够调整它或从头开始您的 webpack 配置。

请记住,没有一个正确的答案,您只需尝试您可以理解且适合您的方法即可。一旦你到达砖墙,你就出去探索。但我觉得你已经知道了:)

祝你好运!

:)

附:我同意@azium,最好尽可能将前端和后端分开


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!