Я использую Webpack 4 в проекте Codeigniter. Большая часть моего кода Javascript все еще зависит от jQuery (установленного через npm), поэтому у меня есть такая конфигурация Webpack:
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
}),
Это работает, но я планирую отказаться от jQuery или, по крайней мере, меньше зависеть от него, поэтому вместо глобального импорта я хотел бы импортировать его только в те модули, где это необходимо.
Я попытался удалить вышеуказанный конфиг и добавил его в модуль:
import { $, jQuery } from 'jquery';
import Dropzone from 'dropzone';
При загрузке страницы я получаю эту ошибку в консоли:
myDropzone.js:95 Uncaught TypeError: Object(...) is not a function
at Object.<anonymous> (myDropzone.js:95)
at r (bootstrap:76)
at t (bootstrap:43)
at bootstrap:134
at bootstrap:134
Код, вызвавший ошибку:
$('.dropzone').each(function () { // <--- this line
$(this).dropzone(config);
});
В консоли я попытался проверить $
и jQuery
, и первый работает нормально, но с jQuery я получаю сообщение о том, что оно не определено