【问题标题】:How to webpack mix Vue apps conditionally in laravel blade file如何在 laravel 刀片文件中有条件地 webpack 混合 Vue 应用程序
【发布时间】:2019-07-13 08:16:01
【问题描述】:

我只想根据用户类型编译选定的文件。我在资源/js中有不同的vue实例文件,我只想混合其中一个。目前我正在这样做

@if(Auth::user())
<script defer src="{{ mix('js/app.js') }}"> 
@else
<script defer src="{{ mix('js/guestApp.js') }}"> 
@endif

但它从公用文件夹中获取路径,而不是资源。我如何实现它?我可以从刀片混合资源/js/app.js 文件吗?

【问题讨论】:

  • 不,您不能从 Blade 文件中调用任何 resource 文件,因为客户端只能访问您的 public 文件夹
  • 我如何有条件地动态导入路由器并存储在我的 vue app.js 中。 SPA和MPA结合的正确方法吗?

标签: laravel-5 webpack vuejs2


【解决方案1】:

我找到了解决办法,就是有条件地使用js文件

@if(Auth::user())
<script src="{{ asset('js/app.js') }}" defer></script>
@else
<script src="{{ asset('js/guestApp.js') }}" defer></script>
@endif

然后为不同的用户类型使用不同的 Vue 应用程序- “资源/js/Guest/app.js”

在我的 webpack 中一次编译-

mix.js('resources/js/Guest/app.js', 'public/js/guestApp.js')
.js('resources/js/app.js', 'public/js/app.js')
.sass('resources/sass/app.scss', 'public/css');

【讨论】:

  • 我仍然不明白为什么带有所有不需要的模板的整个 vue 应用程序都会下载给用户。即使是多页应用程序。在我的情况下,它会在每条路线上下载。
猜你喜欢
  • 2018-08-11
  • 1970-01-01
  • 2018-12-08
  • 2017-07-09
  • 2018-08-01
  • 2017-06-22
  • 1970-01-01
  • 2018-01-16
  • 2021-06-30
相关资源
最近更新 更多