如何使用webpack在CakePHP webroot中设置React?
我有一个现有的CakePHP项目(包括模型,视图,控制器)。我想在其 webroot (Project/Miniproject/index.html
)中设置迷你React项目。 index.html
将对控制器中定义的api进行ajax调用。
- Project
| - app
| | - Controller
| | - View
| | - Model
| | - webroot
| | | - Miniproject
| | | | - index.html [Mini react project]
我尝试过安装React Transform Boilerplate。但它使用web dev服务器(并在localhost:3000上呈现文件)。但我想要从运行CakePHP项目的nginx服务器渲染的文件。
当我访问网址(Project/Miniproject/index.html
)时,找不到dist/bundle.js
,因为它在内存中。那么如何使用webpack在CakePHP webroot中设置React?
答案 0 :(得分:0)
我建议调查https://github.com/brawlins/react-webpack-php-starter。
您仍然可以让Webpack通过BrowserSync运行开发服务器,您将使用代理选项重新加载您的apache虚拟主机。 (不必使用webpack-dev-server)
e.g。在你的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配置。
请记住,没有一个正确的答案,你只需要尝试一些你能理解并适合你的方法。一旦你到达一堵砖墙,你就出去探索。但我觉得你已经知道了:))
祝你好运!:)
P.S。我同意@azium,最好尽可能地保持你的前端和后端分开