javascript - Webpacker 不适用于 jquery 库

标签 javascript jquery webpack

好吧,这确实是很奇怪的行为。以下是重现我的问题的步骤:

  1. 运行yarn add jquery-filepond
  2. 在application.js中添加导入'jquery-filepond'

就是这样!我在控制台中收到的错误是这样的:

Error: Cannot find module 'jquery-filepond'

看起来是一个非常愚蠢的错误,对吧?我不知道该怎么做。

最佳答案

解决问题的步骤(我在这里使用 npm,如果您愿意,请随意将其调整为 yarn):

  1. 您需要自己安装 jQuery 和 FilePond 依赖项。

    npm i jquery filepond --save
    
  2. 因为 jquery-filepond 要求 $jQueryFilePond 为全局变量命名空间(仅此一个是不行的):

    import { $, jQuery } from 'jquery';
    window.$ = $;
    window.jQuery = jQuery;
    import * as FilePond from 'filepond';
    window.FilePond = FilePond;
    
  3. 最后,由于 jquery-filepond package.json 的“main”条目指向不存在的 index.js,因此您需要从该包中显式导入特定文件:

    import 'jquery-filepond/filepond.jquery';
    

我真的建议放弃这个插件,因为它的编程似乎非常糟糕(就像很多 - 特别是较旧的 - jQuery 插件一样)。

https://stackblitz.com/edit/js-ugyp8q

关于javascript - Webpacker 不适用于 jquery 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168845/

相关文章:

JavaScript CSS 模态未显示正确的信息

jquery - 悬停第 nth-child(1) 时更改其他 child

javascript - 表单标签被删除

javascript - 带有 TypeScript 的 npm 模块

webpack - ProgressPlugin TypeError : Cannot read property 'tap' of undefined

javascript - JSLint错误: "Expected a newline at EOF",与Beautify插件冲突

javascript - 使用 JavaScript 和 HTML5 显示隐藏图像(与现有帖子相关)?

javascript - 我可以分配对象运算符吗? "e.g. +, -"

javascript - 我可以动态设置 webpack publicPath 吗? __webpack_public_path__ 不起作用

javascript - 我如何不引人注意地禁用 Javascript 和 Prototype 的提交按钮?