Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义Laravel Mix Uncaught ReferenceError:$_Javascript_Php_Jquery_Laravel_Laravel Mix - Fatal编程技术网

Javascript 未定义Laravel Mix Uncaught ReferenceError:$

Javascript 未定义Laravel Mix Uncaught ReferenceError:$,javascript,php,jquery,laravel,laravel-mix,Javascript,Php,Jquery,Laravel,Laravel Mix,我找了又找,一直找不到我问题的答案。这是我的问题。我正在尝试使用Laravel Mix全局加载jQuery。我尝试过修改各种各样的文件,但似乎没有任何效果。。。我仍然收到“$is not defined”错误 这是我的密码 Bootstrap.js window._ = require('lodash'); window.Popper = require('popper.js').default; try { window.$ = window.jQuery = require('jq

我找了又找,一直找不到我问题的答案。这是我的问题。我正在尝试使用Laravel Mix全局加载jQuery。我尝试过修改各种各样的文件,但似乎没有任何效果。。。我仍然收到“$is not defined”错误

这是我的密码

Bootstrap.js

window._ = require('lodash');
window.Popper = require('popper.js').default;

try {
    window.$ = window.jQuery = require('jquery');

    require('bootstrap');
} catch (e) {}

window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';


let token = document.head.querySelector('meta[name="csrf-token"]');

if (token) {
    window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
    console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
webpack.mix.js

mix.js('resources/assets/js/app.js', 'public/js')
   .js('resources/assets/js/select2.min.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css')
   .sass('resources/assets/sass/admin/app.scss', 'public/css/admin')
   .copy('resources/assets/css/fontawesome.css', 'public/css')
   .copy('resources/assets/css/select2.min.css', 'public/css')
   .copy('resources/assets/webfonts', 'public/webfonts')
   .copy('resources/assets/js/tinymce', 'public/js/tinymce');

mix.browserSync('http://localhost:8000');
我得到的错误是:

未捕获引用错误:$未定义

@section('scripts')中create.blade.php内部的代码


$(函数(){
警惕();
});
{{--微小的MCE--}
tinymce.init({
选择器:'textarea',
插件:“链接”,
梅努巴:错,
品牌:错,
调整大小:false,
状态栏:false,
强制换行:false,
force_p_新行:false,
强制的\u根\u块:“”,
工具栏:[“撤消重做|剪切复制粘贴|删除格式”,
'粗体斜体下划线|链接|凹痕缩进|左对齐中心对齐右对齐对齐对齐对齐无',],
});
{{--图像Javascript--}
$(函数(){
//我们可以将“fileselect”事件附加到页面上的所有文件输入
$(document).on('change',':file',function(){
变量输入=$(此),
numFiles=input.get(0).files?input.get(0).files.length:1,
label=input.val().replace(/\\/g,“/”).replace(/.\/,”);
触发器('fileselect',[numFiles,label]);
});
//我们可以观看像这样的自定义“fileselect”事件
$(文档).ready(函数(){
$(':file')。在('fileselect',函数(事件、numFiles、标签){
var input=$(this).parents('.input group').find(':text'),
log=numFiles>1?numFiles+“选择的文件”:标签;
if(input.length){
输入.val(log);
}否则{
如果(日志)警报(日志);
}
});
});
});
最后是我的布局文件

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

        {{-- Page Specific Scripts --}}
        @yield('scripts')

    </body>

{{--页面特定脚本--}
@产量('脚本')
我做错了什么

日志(e)不返回任何内容。。。这意味着jquery应该正确加载,但不是


如果您在laravel mix中使用
jquery
,请以这种方式导入您的
app.js

window.$ = window.jQuery = require('jquery');

我在拉威尔6号上也有同样的问题。你可以做两件事

或者从脚本标记中删除de
defer

<script src=”{{ asset(‘js/app.js’) }}” defer></script>

应该是:

<script src=”{{ asset(‘js/app.js’) }}"></script>

我在laravel中使用jquery时遇到了相同的错误。我通过npm
npm install jquery
安装jquery解决了这个问题,然后在我需要的脚本中导入了jquery,如下所示:

import $ from "jquery";
然后,
$
将在js文件中可用。
在那之后,我在entry-point.js中调用了我的js文件,并运行
npm run dev

捕获错误..?简单地看一下,可以尝试在不依赖jQuery的情况下使用on-load包装代码。也许它在那上面坏了point@Teemu我该怎么做???您已经将jQuery加载包装到了
try..catch
,如果碰巧有错误消息,为什么不记录错误消息。该try-catch已经存在了。。。不是我写的。。。它附带的laravel已经安装,在laravel 6中不再工作。我在
bootstrap.js
行中有:
try{window.Popper=require('Popper.js').default;window.$=window.jQuery=require('jQuery');require('bootstrap');}catch(e){}
,并且仍然拥有它problem@Sebastian尝试将其更改为
global.$=global.jQuery=require('jQuery')
<script>
window.addEventListener('load', function() {
   console.log($);
});
</script>
import $ from "jquery";