我正在使用Laravel-mix和Webpack来组合和控制站点的脚本.
我是我的主app.js我有这些线:
var jQuery = require( 'jquery' ); require( './vendor/polyfill-library.min.js' ); require( './vendor/polyfill-init.js' ); // which is using jQuery
在polyfill-init.js中我这样做:jQuery(document).ready(….这会导致此错误:
Uncaught ReferenceError: jQuery is not defined
如果我尝试使用Laravel-mix将它混合在一起,我将此错误添加到我的webpack.mix.js中:
mix.js( [ 'resources/js/app.js','resources/js/vendor/polyfill-library.min.js','resources/js/vendor/polyfill-init.js',],'assets/js/app.js')
我假设错误是因为Webpack将所需/导入的脚本保存在单独的命名空间/环境中,因此不会发生冲突.这一切都很好,但是我不知道如何组合两个必需/导入的脚本,所以他们使用相同的命名空间/环境.
…如果我将所有代码复制到app.js(而不是要求它),那么它可以工作,但它并不漂亮.根本不漂亮.
我查看了Webpack’s documentation以查看是否有一种方法可以为导入的/必需的脚本定义依赖项,但是它不存在;或者我没有得到它.
我也看了7 billion ways that this post suggest that I’d do it,但我正在试图弄清楚Webpack / Laravel-mix是如何让我这样做的.
所以我的问题是……有没有办法可以做到这样的事情:
var jQuery = require( 'jquery' ); require( './vendor/polyfill-library.min.js' ); require( './vendor/polyfill-init.js' ); // which is using jQuery
…让Webpack知道,polyfill-init可以使用jQuery吗?
解决方法
试试window.jQuery = require(‘jquery’);
polyfill-init.js可能在全局范围内查找jQuery,而var jQuery仅在此模块的本地范围内可用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。