我目前正在开发一个网页,开始在我的构建过程中使用webpack。我已经成功地使用了通过npm下载的slick-carousel插件,但是无法使fancybox工作!
我已经按照文档中所述从npm下载并导入它:
var $ = require("jquery");
var slick = require("slick-carousel");
var fancybox = require("fancybox")($);
然后在我的代码中,我尝试初始化一个fancybox对象,但什么都没有发生。 它根本没有抛出任何错误。
$(".filtros__filtrar").on('click', function() {
$.fancybox.open({
src : '#tns-filtros',
type : 'inline',
opts : {
smallBtn: false
}
});
});
如果我在控制台记录这些变量,我会得到:这些变量的值
console.log(fancybox); -> undefined
console.log(slick); -> {}
这意味着 slick 模块已经正确加载,但是 Fancybox 没有被加载。
我在某个地方读到,你必须使用 imports-loader 来使 Fancybox 认识 jQuery 变量。所以我通过 npm 下载了它,并将其包含在我的 webpack.config 文件中:
module: {
rules: [
{
test: /fancybox[\/\\]dist[\/\\]js[\/\\]jquery.fancybox.cjs.js/,
use: "imports-loader?jQuery=jquery,$=jquery,this=>window"
}
]
}
但它也不起作用。
有人能给我关于这个主题的提示吗?先谢谢了!