#ruby-on-rails #webpack #webpacker
#ruby-on-rails #webpack #webpacker
Вопрос:
Вопрос новичка относительно webpack / er environment.js и application.js Для импорта библиотеки JS, такой как jQuery, Popper и т.д. Я использую плагин, предоставляющий webpack в environment.js
// environment.js
const webpack = require("webpack");
environment.plugins.append("Provide", new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
}));
Это делает jQuery и Popper доступными для начальной загрузки и любого JS-кода, который я пишу.
Но если я использую select2, он в списке плагинов не работает. Я должен импортировать его в свой application.js
//application.js
import select2;
Если я хочу использовать Quilljs, я должен импортировать его (немного по-другому) в мой application.js
import Quill from 'quill';
В чем разница между импортом библиотеки и добавлением библиотеки в качестве плагина. Я немного погуглил, но не могу найти ресурс, который объясняет эти концепции. Может кто-нибудь объяснить это или указать мне на решение.
Ответ №1:
Плагины Webpack — это объекты JavaScript, у которых есть apply
метод, который может вызывать компилятор webpack. Так что, вероятно, select2
у and Quill
нет такого доступного метода, и поэтому они не могут отображаться как плагины.
Импорт, который вы используете вместо этого, является стандартным импортом модуля, и это подходящий способ использовать их для использования в ваших файлах, IMO.