Bootstrap 使用 webpack 时出现 popper 问题
Bootstrap popper issue while using webpack
我想将 bootstrap 包含到我的 main.ts 中,这样在 _Layout.cshtml 中我就不需要写
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
就这样离开
<script src="~/bundle/bundle.js" asp-append-version="true"></script>
当我像这样在 main.ts 中添加 bootstrap (4.0.0-beta) 时:
require("bootstrap");
我在控制台输出中收到错误
Error: Bootstrap dropdown require Popper.js (https://popper.js.org)
我安装了 popper:
npm install popper
并将其添加到插件部分,所以它看起来像
plugins: [
new CleanWebpackPlugin([bundleFolder]),
new webpack.ProvidePlugin({
$: node_dir + "/jquery",
jQuery: node_dir + "/jquery",
'window.$': node_dir + '/jquery',
Popper: ['popper.js', 'default']
})
]
但是出现了另一个 webpack 脚本错误:
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js Module not
found: Error: Can't resolve 'popper.js' in
'D:\Projects\TestApp\TestApp.Web\node_modules\bootstrap\dist\js' @
./node_modules/bootstrap/dist/js/bootstrap.js 1:0-20 @ ./app/main.ts
目前我不知道如何修复它。
看来我需要 popper.js,而不是 popper。
所以要修复它:
npm install popper.js
我想将 bootstrap 包含到我的 main.ts 中,这样在 _Layout.cshtml 中我就不需要写
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
就这样离开
<script src="~/bundle/bundle.js" asp-append-version="true"></script>
当我像这样在 main.ts 中添加 bootstrap (4.0.0-beta) 时:
require("bootstrap");
我在控制台输出中收到错误
Error: Bootstrap dropdown require Popper.js (https://popper.js.org)
我安装了 popper:
npm install popper
并将其添加到插件部分,所以它看起来像
plugins: [
new CleanWebpackPlugin([bundleFolder]),
new webpack.ProvidePlugin({
$: node_dir + "/jquery",
jQuery: node_dir + "/jquery",
'window.$': node_dir + '/jquery',
Popper: ['popper.js', 'default']
})
]
但是出现了另一个 webpack 脚本错误:
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js Module not found: Error: Can't resolve 'popper.js' in 'D:\Projects\TestApp\TestApp.Web\node_modules\bootstrap\dist\js' @ ./node_modules/bootstrap/dist/js/bootstrap.js 1:0-20 @ ./app/main.ts
目前我不知道如何修复它。
看来我需要 popper.js,而不是 popper。 所以要修复它:
npm install popper.js