Rails 6 个网络打包工具。 Js插件不工作

Rails 6 webpacker. Js plugins not working

我正在使用 Rails 6. 我在让 js 插件工作时遇到问题。 我正在尝试添加 toastr.js.

这是我试过的

yarn add toastr

这是我的 application.js 文件的样子

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('bootstrap')
require("jquery-ui")
require("packs/adminlte")
require("bootstrap-datepicker")
require("toastr/toastr")

这是我的 environment.js 文件的样子

const { environment } = require('@rails/webpacker');

const webpack = require('webpack');

environment.plugins.append('Provide', new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery',
    Popper: ['popper.js', 'default']
}));

module.exports = environment;

如果我在浏览器控制台中使用 cdn 或 运行 toastr/toastr(节点模块)处的 js 代码,一切正常。

我错过了什么?

按照以下步骤在带有 webpacker 的 rails 应用中使用 toastr JS:

  • 用纱线添加toastr:yarn add toastr

  • 在你的 application.js:

    import toastr from 'toastr';
    
    toastr.options = {
        "closeButton": true
        .... add options here ...
     };
    
    global.toastr = toastr;
    

toastr = require("toastr")

import toastr from 'toastr/toastr';

尝试import toastr from 'toastr/toastr';它对我有效。