javascript - Webpack 4 正在摇树引导,我该如何防止呢?
问题描述
我正在尝试获取一个使用 Jquery 模态插件的旧版应用程序,该插件需要引导程序的 javascript 才能在使用自定义 Webpack 配置的 Angular 6 和 Webpack 4 项目中工作。一切正常,除了捆绑期间发生的摇树正在删除我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",
})
谢谢你的时间。
解决方案
我遇到了同样的问题,解决方案如下:
不要使用“import”,而是使用“require”。
改变这个
import * as bootstrap from "bootstrap";
对此
require("bootstrap");
不幸的是,我还没有弄清楚如何使它与“导入”一起使用。
推荐阅读
- nlp - 如何为可再次训练的自定义 NER 保存模型?
- php - 为什么只返回数组中的最后一个元素?
- python - Python - 带有用户输入的 for 循环
- r - 当 R 中的列值发生变化时,从数据框中选择行
- javascript - window.speechSynthesis 的 JavaScript 代码在本地主机上不起作用
- elasticsearch - 使用 Logstash 从文本文件中提取数据并导入 Elasticsearch
- javascript - 如何在可编辑的 DIV 中输出美化的原始 HTML 代码
- c# - .NET 5 不支持 DotNetZip
- assembly - MIPS 中的未定义符号
- c# - 为什么我不能在 C# 中使用 System.Drawing.dll?