Я пытаюсь получить унаследованное приложение, использующее модальный плагин Jquery, для работы которого требуется JavaScript-код загрузчика для работы в проектах Angular 6 и Webpack 4, использующих пользовательскую конфигурацию Webpack.Все работает, за исключением того, что встряхивание дерева, которое происходит во время связывания, удаляет импорт начальной загрузки, который находится в моем файле vendor.ts
, потому что нигде в моем приложении я явно не использую импорт начальной загрузки.
Это приводит к тому, что мои модалы начальной загрузки и раскрывающиеся списки начальной загрузки ломаются.
Примечание: если я добавлю что-то вроде:
import * as bootstrap from "bootstrap";
console.log(bootstrap);
к моему main.ts
файл, webpack не удаляет загрузчик и все работает отлично.
Я уже пытался добавить несколько записей в мое свойство package.json
sideEffects, которое было предложено в документации , но я думаю, что это свойство используется для маркировки кода, который долженбыть удалено.Есть ли способ пометить импортированные модули как , а не , которые будут удалены из процесса встряхивания дерева?
Я также пробовал использовать ProvidePlugin следующим образом:
new ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
_: "underscore",
bootstrap: "bootstrap",
moment: "moment",
momenttimezone: "moment-timezone",
// Collapse: "exports-loader?Collapse!bootstrap/js/dist/collapse",
// Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
Modal: "exports-loader?Modal!bootstrap/js/dist/modal",
})
Спасибоза ваше время.