网页包encore&jquery插件:$(…)同位素不是函数

u59ebvdq  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(310)

我正在与Thread&jquery合作进行一个symfony5项目。我尝试将jquery插件“同位素布局”与网页encore一起使用时出错。
我花了好几个小时试图修复它,但我可能没有用正确的方法。
这是我的密码:
webpack.config.js

// Same error with or without "autoProvidejQuery"
Encore.autoProvidejQuery();

app.js

import 'jquery';
import 'popper.js';
import 'bootstrap';
import 'isotope-layout';

// start the Stimulus application
import './bootstrap';

custom.js

import jQuery from 'jquery';
import 'isotope-layout';

(function ($) {

    // Here is the error :
    $(...).isotope({...});

})(jQuery);

错误:

Uncaught TypeError: $(...).isotope is not a function
yuvru6vn

yuvru6vn1#

使用同位素时不必使用jquery。您可以从他们的网页文档中使用此示例:

var Isotope = require('isotope-layout');

var iso = new Isotope( '.grid', {
  // options...
});

如果您想使用jquery,还有一个例子。要安装它,请执行以下操作:

npm install jquery
npm install jquery-bridget

除此之外:

var $ = require('jquery');
var jQueryBridget = require('jquery-bridget');
var Isotope = require('isotope-layout');
// make Isotope a jQuery plugin
jQueryBridget( 'isotope', Isotope, $ );
// now you can use $().isotope()
$('.grid').isotope({
  // options...
});

如果您使用的是现代javascript(而且您使用的是webpack,太棒了!),在许多情况下,您可能不需要jquery。

相关问题