是否有可能将多个前端应用程序(一个在vue中,另一个在响应中)与一个laravel后端集成在一起?

问题描述 投票:0回答:1

我继承了一个laravel代码库,它通过laravel-mix集成了一个vue应用程序(在resources / assets / js内)。我被要求用反应开发一些前端功能。我想知道我是否可以配置webpack.mix.js和laravel路由,以便可以将react应用程序集成到laravel应用程序中,而不会影响vue应用程序。

reactjs laravel vue.js laravel-mix
1个回答
0
投票

所以这就是我如何解决自己的问题,并成功整合了两个独立的反应应用程序,以及一个针对laravel后端的vue应用程序。

更新了我的webpack.mix.js文件,如下所示:

mix
  .react("resources/assets/js-calendar/app.js", "public/js-calendar")
  .sass("resources/assets/sass-calendar/app.scss", "public/css-calendar")
  .react("resources/assets/js/app.js", "public/js")
  .sass("resources/assets/sass/app.scss", "public/css")
  .js("resources/assets/js-vue/app.js", "public/js-vue")
  .sass("resources/assets/sass-vue/app.scss", "public/css-vue");

我的resources/assets文件夹的内容是:

├───js
│   └───components
├───js-calendar
│   └───components
├───js-vue
│   └───components
├───sass
├───sass-calendar
└───sass-vue

我的resources/views文件夹中有以下三个刀片模板:

app.blade.php  hello.blade.php  welcome.blade.php

web.php文件的内容是:

Route::view('/calendar/{path?}', 'app');
Route::view('vue/{path?}', 'hello');
Route::view('/{path?}', 'welcome');

最后编译的css和js文件在刀片文件中链接,如下所示:

...
    <link href="{{ asset('css-calendar/app.css') }}" rel="stylesheet">
</head>
<body>
    <div id="app"></div>

    <script src="{{ asset('js-calendar/app.js') }}"></script>
....

以上是app.blade.php。对于hello.blade.php,css和js src链接分别是css-vue/app.jsjs-vue/app.js。而对于welcome.blade.php,src链接是css/app.cssjs/app.js

请注意yarn run dev如何在不同的目标中生成相应的css和js文件:

/js-calendar/app.js    9.45 MB       0  [emitted]  [big]  /js-calendar/app
                                             /js/app.js    2.14 MB       1  [emitted]  [big]  /js/app
                                         /js-vue/app.js    1.43 MB       2  [emitted]  [big]  /js-vue/app
                                  /css-calendar/app.css     219 kB       2  [emitted]         /js-vue/app
                                           /css/app.css     219 kB       2  [emitted]         /js-vue/app
                                       /css-vue/app.css     219 kB       2  [emitted]         /js-vue/app

我有vuereact依赖项,他们的条目添加到package.json

© www.soinside.com 2019 - 2024. All rights reserved.