【发布时间】:2020-01-26 17:45:10
【问题描述】:
我有一个 Rails 6 应用程序,资产是使用 Webpack 4.39.1 (Webpacker gem) 编译的。
我已将JQuery 3.4.1 和Popper.js 添加到webpack ProvidePlugin 如下(config/webpack/environment.js):
const { environment } = require('@rails/webpacker');
const webpack = require('webpack');
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
Popper: ['popper.js', 'default']
}));
module.exports = environment;
我有一个javascript/packs/application.js 文件,它是 webpack 的入口点。
我已添加Bootstrap 4.1.1 并将其导入application.js。
现在,我正在尝试按如下方式设置工具提示:
import "bootstrap/dist/js/bootstrap";
$( document ).ready(function() {
$('[data-toggle="tooltip"]').tooltip({
container: 'body',
placement: 'auto'
});
});
我在开发控制台中收到 Uncaught TypeError: $(...).tooltip is not a function 错误。
我还检查了$.fn,发现没有一个 Bootstrap JS 方法是 JQuery 原型的一部分。
任何帮助将不胜感激!谢谢
【问题讨论】:
-
您是否重新启动了应用程序?
-
是的,这在开发中不起作用。我已经重启了 puma 和
webpack-dev-server -
您可能需要导入工具提示。在 application.js 中添加
import "bootstrap/js/dist/tooltip"; -
或者把你在application.js中导入的关于bootsrap的所有js都去掉,只添加:
import "bootstrap"; -
@demir : 什么都试过了,还是不行!
标签: javascript ruby-on-rails node.js webpack