gpt4 book ai didi

javascript - 如何为 Bootstrap4 弹出窗口和工具提示配置 webpack (Popper.js)

转载 作者:行者123 更新时间:2023-12-01 03:11:07 26 4
gpt4 key购买 nike

我正在尝试从 bootstrap 4 alpha 更新到 beta,并且我正在使用 webpack!
到目前为止,我已经成功地将我的代码迁移到兼容,唯一的问题是我无法让工具提示和下拉菜单正常工作!根据文档,他们说这些功能取决于 popper.js,并给出了如何配置 i 工作的示例!
我已遵循这些说明,但现在当我想使用下拉菜单和工具提示时,我得到 TypeError: popper is undefined

webpack.mix.js

const path = require('path');
const webpack = require('webpack');
const { mix } = require('laravel-mix');

mix.webpackConfig({
output: {
path: path.join(__dirname, "/public"),
publicPath: '/',
chunkFilename: 'js/modules/[name].js'
},
plugins:[
new webpack.ProvidePlugin({
Moment: 'moment',
'window.Moment': 'moment',
Popper: ['popper.js', 'default'],
popper: ['popper.js', 'default'],
// 'window.Po': ['popper.js', 'default']
}),
new webpack.optimize.MinChunkSizePlugin({minChunkSize: 100000})
]
});

/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/

mix.autoload({
vue: [ 'Vue', 'window.Vue' ],
// moment: ['window.moment', 'Moment'],
jquery: ['$','jQuery','window.jQuery'],
tether: ['window.Tether', 'Tether'],
axios: ['axios','window.axios'],
'cookies-js': ['Cookies']
});

mix.js('resources/assets/js/app.js', 'public/js')
.extract(['vue','lodash','cookies-js','jquery','moment','tether','bootstrap','axios'])
.sass('resources/assets/sass/app.scss', 'public/css')
.js('resources/assets/js/admin.js', 'public/js')
.sass('resources/assets/sass/admin.scss', 'public/css')
.version()
.browserSync({
proxy: 'localhost:8000'
});

我不知道我在这里错过了什么

更新
HTML 代码

<li class="nav-drop dropdown">
<a href="#currency-menu" data-toggle="dropdown">{{ moneyCurrencyCode() }}</a>
<ul id="currency-menu" class="list nav-drop-menu dropdown-menu">
<li><a data-toggle="currency" data-currency="MZN" href="#">MZN</a></li>
<li><a data-toggle="currency" data-currency="ZAR" href="#">ZAR</a></li>
<li><a data-toggle="currency" data-currency="USD" href="#">USD</a></li>
<li><a data-toggle="currency" data-currency="EUR" href="#">EUR</a></li>
</ul>
</li>

最佳答案

为了使用 bootsrap4(测试版)弹出窗口、工具提示、下拉菜单以及 laravel webpack mix,您必须下载 popper.js 以及 bootstrap 4 。

npm install bootstrap:4.0.0-beta popper.js --save

之后,您必须编辑 resources/assets/js/bootstrap.js 文件以包含 popper.js:

try {
window.$ = window.jQuery = require('jquery');
window.Popper = require('popper.js/dist/umd/popper.js').default;

require('bootstrap/js/src/dropdown');
require('bootstrap/js/src/popover');
require('bootstrap/js/src/tooltip');

} catch (e) {
}

最后您还必须编辑 webpack.mix.js 文件:

mix.autoload({
'jquery': ['$', 'window.jQuery', "jQuery", "window.$", "jquery", "window.jquery"],
'popper.js/dist/umd/popper.js': ['Popper', 'window.Popper']
});

关于javascript - 如何为 Bootstrap4 弹出窗口和工具提示配置 webpack (Popper.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com