Webpacker(或 Webpack)environment.js vs application.js

Webpacker (or Webpack) environment.js vs application.js

关于 webpack/er environment.js 和 application.js 的初学者问题 为了导入像 jQuery、Popper 等 JS 库。我在 environment.js

中使用 webpack provide 插件
// environment.js
const webpack = require("webpack");
    environment.plugins.append("Provide", new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
      Popper: ['popper.js', 'default']
    }));

这使得 jQuery 和 Popper 可用于 Bootstrap 和我编写的任何 JS 代码。 但是如果我使用 select2 它到插件列表是行不通的。我必须将它导入我的 application.js

//application.js
import select2; 

如果我想使用 Quilljs,我必须在我的 application.js

中导入它(虽然有点不同)
import Quill from 'quill';

导入库与添加库作为插件有什么区别。我做了很多谷歌搜索,但找不到解释这些概念的资源。谁能解释一下或者给我指点资源。

Webpack plugins 是 JavaScript 对象,它们具有 webpack 编译器可以调用的 apply 方法。所以很可能 select2Quill 没有可用的方法,因此无法作为插件呈现。

您正在使用的导入是标准模块导入,这是将它们拉入您的文件中使用的合适方式,IMO。