我有两个由create-react-app工具包创建的反应项目,都将使用相同的数据库和一些共享模型。对于后端,我创建了一个Laravel项目,并在其公共目录中放置了React项目:
--Laravel project
|-- app
|-- bootstarp
...
|-- public
|-- frontend (react app)
|-- panel (react app)
|-- index.php (Laravel's index)
...
|-- vendor
|-- .env
由于我将仅使用Laravel用于REST api,我已经设置了3个域,如:
frontend.local
panel.frontend.local
api.frontend.local
这样做的原因是,我不想为每个项目重新创建数据库或共享模型,现在一切都很好。我可以访问项目,我也可以发送api请求。所以我的问题是:这种做法好吗?如果不是,我怎么能为两个反应应用程序提供一个Laravel应用程序实例。
答案 0 :(得分:0)
它可能来晚了,但我希望我按照这个过程解决了它。
npx create-react-app panel
仅对面板执行新的 react 安装,并使用 laravel 命令对 php artisan ui react
进行反应。有了这个,我们现在在一个 Laravel 中有两个 React 应用程序。您的资源文件夹现在应该有一个 js 文件夹和一个面板文件夹。mix.react('resources/js/app.js', 'public/frontend/js') .react('resources/panel/src/index.js', 'public/panel/js') .sourceMaps();
<body>
<div id="root"></div>
<script src="{{ asset('panel/js/app.js') }}"></script>
</body>
对于面板,以及
<body>
<div id="root"></div>
<script src="{{ asset('frontend/js/app.js') }}"></script>
</body>
用于前端。
npm run watch
。您可以使用 laravel mix 文档阅读更多内容。