如何在全局设置 jquery cdn?

How can I set jquery cdn in global?

我把jquerycdn放在了

C:\xampp\htdocs\mysystem\resources\views\layouts\app.blade.php

像这样:

<html>
<head>
    ...
    @yield('css')
</head>
<body class="skin-blue sidebar-mini">
    ...
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    ...
    @yield('scripts')
</body>
</html>

所以它可以在任何地方使用

但是当执行这个时:

C:\xampp\htdocs\mysystem\resources\views\users\index.blade.php

代码如下:

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection

存在错误:

Uncaught ReferenceError: $ is not defined

为什么会出现错误?而我在 app.blade

中添加了 jquery cdn

问题是jQuery还没有加载,因为内容是在jQuery之前插入的。 您应该将 javascript 移动到 scripts 部分。

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
@endsection
@section('scripts')
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection

正如许多评论所指出的,在调用自己的 javascript 之前,您并未加载 jquery。我会使用 javascript 部分并按如下方式设置页面。

布局

<html>
<head>
    ...
    @yield('css')
</head>
<body class="skin-blue sidebar-mini">
    @yield('content')
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    ...
    @yield('scripts')
</body>
</html>

blade模板

@extends('layouts.app')
@section('content')
    <section class="content-header">
        ...
    </section>
    <div class="content">
        ...
    </div>
@endsection

@section('javascript')
    <script type="text/javascript">
        $(function() {
           ...
        });
    </script>
@endsection