【发布时间】:2020-05-21 11:11:55
【问题描述】:
我有一个使用 bootstrap 4.0.0-beta.2 的反应应用程序。我按照他们的网站Webpack-Bootstrap 中的描述在 webpack 中配置引导程序。
这是我的webpack.config.js:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: ["babel-polyfill",'./src/app.js'],
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js'
},
module: {
rules: [{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
}, {
test: /\.(scss|css)$/,
use: [
'style-loader',
'css-loader',
'sass-loader'
]
}]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
Popper: ['popper.js', 'default']
})
]
}
我按照 bootstrap 4.0.0-beta.2 的要求安装了 jQuery 和 popper。
我有一个使用引导导航栏的导航组件。见下文:
const Navigation = () => {
return (
<nav className="navbar navbar-expand-lg navbar-dark fixed-top">
<h1 className="navbar-brand">My App</h1>
<button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse" id="navbarNavAltMarkup">
<div className="navbar-nav">
<li><NavLink exact to="/" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Menu 1</NavLink></li>
<li><NavLink exact to="/classement" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Menu 2</NavLink></li>
<li><NavLink exact to="/calendrier" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Menu 3</NavLink></li>
<li><NavLink exact to="/archives" activeClassName="active" activeStyle={{ fontWeight: 'bold' }}>Archives</NavLink></li>
</div>
</div>
</nav>
)
};
我的问题是切换按钮不起作用。当我在小型设备上时,会出现切换按钮,但是当我单击它时,什么也没有发生。我的菜单无法在小型设备上使用。
我阅读了有关此问题的一些回复,但所有解决方案都建议,当您使用 cdn 时,将 jQuery 脚本标签放在所有其他脚本之前。但我没有使用 cdn,我在我的项目中使用 Webpack 2 包含 Bootstrap。
在我的 webpack 条目中,我还尝试在所有其他文件之前添加 jQuery 文件,如下所示:
module.exports = {
entry: ["babel-polyfill",'script-loader!jquery/dist/jquery.min.js','./src/app.js'],
...
但问题仍然存在。
您对如何解决此问题有任何想法吗?谢谢。
【问题讨论】:
标签: jquery twitter-bootstrap reactjs webpack