Dans ma section principale de mon form.layout.blade.php
j'ai ce qui suit:
<head> <script src="/js/main.js"></script> <head>
Ce fichier de mise en page est chargé avant que toutes les pages ne soient chargées . Existe-t-il un moyen de ne pas charger main.js
pour un itinéraire spécifique?
3 Réponses :
La solution de contournement que j'ai utilisée pour ne pas charger les scripts sur tous les sites, est que je mets les chemins de script dans les variables des contrôleurs, quelque chose comme ceci:
@if(isset($scripts)) @foreach($scripts as $key => $value) <script src="{{mix($value)}}"></script> @endforeach @endif
Cela me permet d'utiliser ce script uniquement sur une page dont j'en ai vraiment besoin, comme celle-ci:
public function show($id){ $scripts[] = '/js/main.js'; view()->share('scripts', $scripts); return view('view', $someData); }
J'espère que cela peut vous conduire dans la bonne direction.
Très intéressant, examinera certainement cela. Merci.
Vous pouvez utiliser les instructions if
@if(!in_array(Route::currentRouteName(), ['route.name', ...])) <script src="/js/main.js"></script> @endif
vous pouvez utiliser une instruction if comme celle-ci. main.js ne se chargera pas sur cette page
@if(!Request::is('subpage/url')) <script src="/js/main.js"></script> @endif
Merci! existe-t-il un moyen de vérifier la demande en cours? Je ne sais pas quoi mettre en tant que 'route-spécifique-ici'
@timothyylim Vous pouvez utiliser cette méthode comme ceci: Request :: is ('/ home')
c'est l'url de la page. (nom de l'itinéraire)
Hm. Cela ne semble pas fonctionner. Puis-je déconnecter la demande uniquement pour déboguer?
le code est assez volumineux mais mon url est comme: www.mondomaine.com/subpage/url et @if (! Request :: is ('/ subpage / url')) ne semble pas fonctionner ...