使用 Symfony 4 和 Webpack Encore ,我无法运行 Select2 。 我正在使用“ select2@4.0.3” 并以这种方式将其导入app.js:
import $ from 'jquery';
import 'bootstrap';
import 'select2';
我也尝试使用
Encore.autoProvidejQuery()
在webpack.config.js中(然后注意在app.js中注释 import $ from 'jquery';
行,不要两次导入jquery)
我尝试了在其他答案中可以找到的所有东西,例如:
import select2 form 'select2';
$(() => {
$('.select2-enable').select2();
});
或
select2($);
几乎所有的尝试都导致相同的错误: TypeError:$(...)。select2不是函数
编辑
现在工作。每次我对app.js进行更改(并重新构建)时,我都使用firefox devtool控制台检查其是否正常运行,但是即使问题已解决且select2正常运行,我也总是收到“ not a function”错误。这是因为我正在使用Webpack导致浏览器控制台不再识别select2()函数吗?
答案 0 :(得分:0)
首先使用yarn
安装它:
纱线添加select2
然后将其与require
而非import
一起使用:
require('select2')
在您的app.js
文件中。
与require或import相同。
Babel将导入和导出声明转换为CommonJS(必需),使您可以动态加载模块。
因此,尽管它们看起来相同,但请务必始终使用require。