Javascript 未定义Laravel Mix Uncaught ReferenceError:$
我找了又找,一直找不到我问题的答案。这是我的问题。我正在尝试使用Laravel Mix全局加载jQuery。我尝试过修改各种各样的文件,但似乎没有任何效果。。。我仍然收到“$is not defined”错误 这是我的密码 Bootstrap.jsJavascript 未定义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
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时遇到了相同的错误。我通过npmnpm 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";