这里和这里似乎存在类似的问题,但所提供的答案并不能解决我的情况。
我的服务器上有一个Node/Express/Webpack堆栈,我使用npm来安装Bootstrap 4 alpha 6和tether.js,这是工具提示功能所必需的依赖项。在我的主JS文件中,如webpack配置所定义的,我使用以下代码段导入了使用Bootstrap工具提示函数并进行初始化的系绳:
import "tether";以及:
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})然后,在我的index.hbs (我使用工具栏来呈现我的页面)中,我有以下实现工具提示的代码片段:
<button type="button" class="btn btn-secondary" data-toggle="tooltip" title="Tooltip on top">
Tooltip on top
</button>脚本编译成功,没有任何错误或警告。但是,当在浏览器中加载页面时,我会看到一个错误,上面写着tooltip is not a function...。这不应该发生的对吧?我可以确认JQuery运行良好,因为下面的代码片段就在初始化工具提示下面,如上面所示,呈现时没有任何打嗝:
$('p#some').html('from jquery');如下所示,JQuery和系绳插件以及工具提示插件都是在我的webpack.config.js文件中启动的:
plugins: [
new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
new ExtractTextPlugin({ filename: "../../public/dist/main.min.css" }),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
Tether: "tether",
"window.Tether": "tether",
Alert: "exports-loader?Alert!bootstrap/js/dist/alert",
Button: "exports-loader?Button!bootstrap/js/dist/button",
Carousel: "exports-loader?Carousel!bootstrap/js/dist/carousel",
Collapse: "exports-loader?Collapse!bootstrap/js/dist/collapse",
Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
Modal: "exports-loader?Modal!bootstrap/js/dist/modal",
Popover: "exports-loader?Popover!bootstrap/js/dist/popover",
Scrollspy: "exports-loader?Scrollspy!bootstrap/js/dist/scrollspy",
Tab: "exports-loader?Tab!bootstrap/js/dist/tab",
Tooltip: "exports-loader?Tooltip!bootstrap/js/dist/tooltip",
Util: "exports-loader?Util!bootstrap/js/dist/util",
}),
new webpack.LoaderOptionsPlugin({ postcss: [autoprefixer] }),
]项目文件可以作为内部回购这里使用,以防有帮助。
发布于 2017-10-18 23:56:22
几个问题,因为我自己也遇到过类似的问题。
1)您需要在popper.js插件部分提供对webpack.config.js的引用;
Popper: ['popper.js', 'default'],2)在主js中,导入所需的插件;
import 'bootstrap/js/dist/tooltip';更多信息在这里:自举4- Webpack安装
https://stackoverflow.com/questions/44701830
复制相似问题