Javascript Rails下webpacker返回$的引导通知功能。notify不是一个函数

Javascript Rails下webpacker返回$的引导通知功能。notify不是一个函数,javascript,ruby-on-rails,webpacker,bootstrap-notify,Javascript,Ruby On Rails,Webpacker,Bootstrap Notify,我正在将一个项目从链轮迁移到Webpacker 最后一件我似乎无法正确运行的事情是通知 我以前可以做:$.notify('Test'),但现在我得到了 Uncaught TypeError: $.notify is not a function 当我尝试在浏览器控制台中执行此操作时,在它正常工作之前,我会遇到相同的错误 这是我的application.js文件: require(“@rails/ujs”).start(); 需要(“TurboLink”).start(); 需要(“@rails

我正在将一个项目从链轮迁移到Webpacker

最后一件我似乎无法正确运行的事情是通知

我以前可以做:$.notify('Test'),但现在我得到了

Uncaught TypeError: $.notify is not a function
当我尝试在浏览器控制台中执行此操作时,在它正常工作之前,我会遇到相同的错误

这是我的application.js文件:

require(“@rails/ujs”).start();
需要(“TurboLink”).start();
需要(“@rails/activestorage”).start();
导入“引导”;
导入“引导通知”;
我还尝试了引导通知上的require,但没有任何区别

Environments.js

const{environment}=require(“@rails/webpacker”)
常量erb=需要('./装载机/erb')
const coffee=需要('./装载机/咖啡')
const webpack=require('webpack');
environment.plugins.append('Provide',new webpack.ProvidePlugin({
$:“jquery”,
jQuery:'jQuery',
jquery:'jquery',
Popper:['Popper.js','default']
}));
environment.config.set('resolve.alias',{jquery:'jquery/src/jquery'});
环境。装载机。预装(“咖啡”,咖啡);
环境。装载机。前置(“erb”,erb);
module.exports=环境;
如果我将bootstrap-notify.js文件放在assets/javascripts文件夹中,并像这样包含它:

    = javascript_include_tag 'bootstrap-notify', 'data-turbolinks-track': 'reload'

它可以正常工作。

终于可以正常工作了

bootstrap notify是一个旧包,它不进行任何导出,只启用$($.notify)上的函数

为了更好地使用Webpacker,您可以安装脚本加载器

yarn add script-loader
然后将其添加到application.js文件(在webpack dir下)


这将在全局上下文中计算代码。确保代码缩小,因为Webpack不会为您这样做。

脚本加载程序不再维护。
require("script-loader!bootstrap-notify");