javascript - 如何使用 jQuery slim 和新的 @popperjs 使用 Laravel-mix 构建 Bootstrap 4?
问题描述
的内容webpack.mix.js
:
const mix = require('laravel-mix');
mix.js('resources/assets/js/vendor.js', 'public/js');
的内容vendor.js
:
window.Popper = require('@popperjs/core').default;
try {
window.$ = window.jQuery = require('jquery/dist/jquery.slim.js');
require('bootstrap');
} catch (e) {}
构建后,在public/js/vendor.js
文件中我可以清楚地看到它@popperjs
并包含在旧文件jquery.slim.js
之上(它们被重复)。jquery
popperjs
我知道发生这种情况是因为node_modules\bootstrap\dist\js\bootstrap.js
有require('jquery'), require('popper.js')
作为依赖项。
如何使用新版本@popperjs
和jquery.slim.js
不使用旧版本popperjs
和完整jquery
版本构建资产?
解决方案
它可以帮助你:https ://getbootstrap.com/docs/4.0/getting-started/webpack/#importing-javascript
因此,您可以单独导入插件并使用更新的 popperjs 版本。但是请放心,bootstrap 4 使用更新的 popperjs 版本可能会不稳定。
顺便说一句:https ://github.com/twbs/bootstrap/issues/29842在引导程序 5 中的机会。
推荐阅读
- laravel - 忽略 PHPUnit 9 中的弃用通知?
- asp.net-core - 如何在 Entity Framework Core 中建立一对多关系
- php - 使用 mysqli bind_param() 查询 WHERE 子句不起作用
- kendo-ui - 剑道网格弹出编辑器 - Razor ForEach - 列表为空
- spring - 按自定义函数 HIBERNATE 的结果分组
- c# - 列表上的布尔值给出不稳定的结果
- arrays - 从文件/目录位置的 JSON 数据创建一个数组;如果元素是目录,bash 不注册
- node.js - 仅提取 mongodb 聚合中 $project 中键值对中的值
- laravel - 多个表行的总和
- c# - 如何使用 ManagementObject (C#) 上的进程 ID 查找 64 位进程