我想知道什么是将js插件包含在laravel中以便在项目的每个文件中使用它们的正确方法....
我首先将它们包含在/public/index.php
文件中,但总体上工作但导致了一些不可接受的问题。所以我正在寻找更好的方法。
我现在在我的主模板master.blade.php
中尝试了它,包含在每个视图中..我使用过:
<script src="/js/jquery-3.1.1.min.js"></script>
<script src="/js/sweetalert.min.js"></script>
但是它不起作用,没有定义$
...使用CDN也没有改变任何东西,所以它似乎不是关于路径的...
任何人都可以帮助我吗?现在已经挣扎了好几天,围绕不同的方式进行测试,但没有任何作用......
修改:这是完整的文件master.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Shopping Portal') }}@yield('page')</title>
<!-- Styles -->
<link href="/css/app.css" rel="stylesheet"/>
<link href="/css/styles.css" rel="stylesheet"/>
<link href="/css/sweetalert.css" rel="stylesheet"/>
<!-- Scripts -->
<script src="/js/jquery-3.1.1.min.js"></script>
<script src="/js/sweetalert.min.js"></script>
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
</head>
<body>
<div id="app">
<nav class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<!-- Collapsed Hamburger -->
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
<span class="sr-only">Toggle Navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Branding Image -->
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Shopping Portal') }}
</a>
</div>
<div class="collapse navbar-collapse" id="app-navbar-collapse">
<!-- Left Side Of Navbar -->
<ul class="nav navbar-nav">
</ul>
<!-- Right Side Of Navbar -->
<!-- some nav items -->
</div>
</div>
</nav>
@yield('content')
<div class="container">
<div class="row">
<footer class="text-center">
© 2016
<ul>
<li class="btn btn-default"><a href="/imprint">Impressum</a></li>
<li class="btn btn-default"><a href="/support">Kontakt</a></li>
</ul>
@yield('footer')
</footer>
</div>
</div>
</div>
<!-- Scripts -->
<script src="/js/app.js"></script>
</body>
</html>
Edit2 :我现在注意到了一件事:当我再次从视图中加载jquery时(因此视图以此开头:
@extends('master')
<script src="/js/jquery-3.1.1.min.js"></script>
@section('content')
),然后它起作用(至少在那个特定的视图中),但我想知道为什么......我错了,如果我在主模板中加载jQuery,它包含在使用主模板的每个tempalte中好?
答案 0 :(得分:1)
在布局上你可以添加这个
@yield('scripts')
和page.blade.php
@section('scripts')
<script type="text/javascript" src="{{ URL::asset('js/main.js') }}"></script>
@endsection
如果您希望脚本位于所有页面上,请将其添加到布局
直接像这样
<script type="text/javascript" src="{{ URL::asset('js/main.js') }}"></script>