首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导- Rails下的webpacker通知返回$.notify不是一个函数。

引导- Rails下的webpacker通知返回$.notify不是一个函数。
EN

Stack Overflow用户
提问于 2020-02-24 14:31:46
回答 1查看 398关注 0票数 3

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

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

我以前能做:$.notify(‘测试’),但现在我

代码语言:javascript
复制
Uncaught TypeError: $.notify is not a function

当我尝试在浏览器控制台中执行此操作时,也会遇到相同的错误,而在它正常工作之前。

这是我的application.js文件:

代码语言:javascript
复制
require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
import 'bootstrap';
import 'bootstrap-notify';

我也尝试了需要引导-通知,但这并没有任何区别。

Environments.js

代码语言:javascript
复制
const { environment } = require('@rails/webpacker')
const erb = require('./loaders/erb')
const coffee =  require('./loaders/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'});

environment.loaders.prepend('coffee', coffee);
environment.loaders.prepend('erb', erb);
module.exports = environment;

如果我将引导程序-fy.js文件放在资产/javascripts文件夹中,并将其包括在下面这样:

代码语言:javascript
复制
    = javascript_include_tag 'bootstrap-notify', 'data-turbolinks-track': 'reload'

它的工作没有任何问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-24 23:07:38

终于起作用了。

引导-通知是一个旧的包,它不做任何导出,但只启用$ ($.notify)上的函数。

为了让它更好地使用Webpacker,您可以安装脚本加载程序。

代码语言:javascript
复制
yarn add script-loader

然后将其添加到您的application.js文件中(在webpack dir下面)

代码语言:javascript
复制
require("script-loader!bootstrap-notify");

这将评估全局上下文中的代码。确保代码被缩小了,因为Webpack不会为你这么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60378066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档