NodeJS 与 webpack jQuery.Deferred 异常:o(...).select2 不是函数 TypeError: o(...).select2 不是函数

2024-01-06

我正在修改我的应用程序以使用nodejs并通过gulp进行browserify来生成一个缩小的js。
我已经从手动加载依赖项并手动更新切换为使用 npm 安装它们。

一切都很顺利,但是当我想安装 select2 时,它开始到处抛出错误。当我移动已删除的 npm 手动更新文件时required() file.

jquery.js:3841 jQuery.Deferred 异常:o(...).select2 不是函数 TypeError: o(...).select2 不是函数
在 i.init (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:5612 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:5612)
在 i.sysInit (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108153 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108153)
在我(https://www.example.com/newstyle/js/closure.js?time=1559747711:1:106602 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:106602)
在新的我(https://www.example.com/newstyle/js/closure.js?time=1559747711:1:5333 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:5333)
在 HTMLSelectElement 处。 (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108496 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108496)
在 Function.each (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:200628 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:200628)
在 _.fn.init.each (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:199273 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:199273)
at _.fn.init.d.fn.(匿名函数) [作为 FormDropdownHandler] (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108384 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108384)
在 HTML 文档中。 (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108696 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108696)
在 HTMLDocument.dispatch (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:240241 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:240241) 不明确的

dropdown.module.js:53 Uncaught TypeError: o(...).select2 不是函数
在 i.init (dropdown.module.js:53)
在 i.sysInit (oc.foundation.base.js:157)
在我 (oc.foundation.base.js:20)
在新的 i (dropdown.module.js:19)
在 HTMLSelectElement 处。 (oc.foundation.base.js:191)
在 Function.each (jquery.js:367)
在 _.fn.init.each (jquery.js:202)
at _.fn.init.d.fn.(/匿名函数) [作为 FormDropdownHandler] (https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108384 https://www.example.com/newstyle/js/closure.js?time=1559747711:1:108384)
在 HTML 文档中。 (oc.foundation.base.js:213)
在 HTMLDocument.dispatch (jquery.js:5237)

我正在使用的代码是:

<select name="pickup_point">
    <option value="1" >all work</option>
    <option value="4" >no play</option>
    <option value="5" >dull boy</option>
</select>

和 JavaScript:

$ = require('jquery');
require('select2');
$(document).ready(function(){
    $('select').select2();
});

当我在 index.js 文件中需要 select2 时,如何才能使其工作?


我花了一段时间才拼凑出这里出了什么问题。

归根结底,Select2 使用它自己的加载器和工厂函数来初始化自身,默认情况下不会调用它。您需要手动调用它。

如果您有一个窗口对象并将 jQuery 注册到该窗口对象,您可以按如下方式调用 Select2once在你的主 javascript 文件中:

window.$ = window.jQuery = require('jquery);
require('select2')();

或者如果您更喜欢变量而不是直接在 require 上调用函数:

window.$ = window.jQuery = require('jquery);
var select2Initialisator = require('select2');
select2Initialisator();

如果您喜欢使用作用域或不同版本的 jQuery,您还可以将要注册 select2 的 jQuery 实例传递给 select2 工厂构造函数,如下所示

 var jQuery = require('jquery');
 require('select2')(jQuery);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodeJS 与 webpack jQuery.Deferred 异常:o(...).select2 不是函数 TypeError: o(...).select2 不是函数 的相关文章

  • 为什么“dtoa.c”包含这么多代码?

    我将是第一个承认我对低级编程的整体知识有点稀疏的人 我理解许多核心概念 但我不经常使用它们 话虽这么说 我对需要多少代码感到非常惊讶dtoa c http www netlib org fp dtoa c 在过去的几个月里 我一直致力于用
  • WebDriver:更改事件未触发

    我有一个使用 KnockoutJS 的应用程序 我正在尝试编写一些测试表单的测试 如果您不了解 KnockoutJS 简单来说 它提供了从我的视图到我的数据模型的绑定 这意味着当我在输入字段中键入值时 我的基础对象会自动使用该输入字段值进行
  • 为什么我的 onclick 事件自动触发

    加载页面时最初显示 Hello World 我希望它仅在单击按钮后显示 我知道我可以通过向按钮添加内联事件侦听器来做到这一点 我可以只用脚本编写所有这些代码吗
  • 带有嵌入式 Ruby 的 Javascript:如何安全地将 ruby​​ 值分配给 javascript 变量

    我在页面的 javascript 块中有这一行 res foo 处理这种情况的最佳方法是什么 ruby var里面有单引号吗 否则会破坏 JavaScript 代码 我想我会用红宝石JSON http json org ruby var 上
  • 使用 ES6 模块导出/导入单个类方法?

    假设我有一个像这样的简单课程fileA js class foo constructor x this name x fooMethod x return x hello 我想导入并使用fooMethod in fileB js像这样 im
  • 将 Isotope 与通过 XML 和 jQuery 加载的对象一起使用。这可能吗?

    我正在使用 XML 和 jQuery 加载对象 并尝试连接到同位素 但似乎这是不行的 这可能吗 我尝试了许多不同的解决方案 但似乎找不到有效的解决方案 这就是我所拥有的 我已经尝试过同位素中的回调函数 但仍然没有运气 我用 XML 调用我的
  • 页面点击其他路径后 $timeout 继续运行

    我在用yo angular fullstack生成器来构建我的网站 当用户注册该网站时 它将发送一封带有链接的激活电子邮件 当用户点击该链接时 会显示激活成功并超时进入主页 但是 当超时未结束 用户点击页面中的任何其他链接时 会跳转到其他页
  • 如何检查jquery数据表中的每个复选框?

    我有一个第一列带有复选框的表格 我使用 jQuery DataTable 插件显示我的表格 我制作了 2 个链接来选择 取消选择每个复选框 这是选择全部的一个 a href Select all a 和 JavaScript functio
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • 比较 javascript 元素和 scala 变量的 Play 框架 Twirl 模板

    如下面的代码示例所示 我想比较 scala 辅助元素内的 javascript 元素 然而 即使存在元素 abcde 它也始终返回 false 除了使用标签之外 如何获取 scala 辅助元素内的 javascript 值 appSeq S
  • Tween JS 基础知识之三个 JS 立方体

    我是 Tween JS 的新手 尝试使用 Tween 制作一个向右移动的简单动画 下面是我在 init 函数中的代码 我使用的是三个 JS var geometry new THREE CylinderGeometry 200 200 20
  • Javascript - 如何计算数字的平方?

    使用 JavaScript 函数 function squareIt number return number number 当给定数字 4294967296 时 函数返回 18446744073709552000 每个人都知道真正的答案是
  • 加载 Ember.View 的内容后初始化 jQuery 插件

    DEBUG Ember VERSION 1 0 0 rc 6 ember js DEBUG Handlebars VERSION 1 0 0 rc 4 ember js DEBUG jQuery VERSION 1 9 1 控制器是一个Em
  • 在浏览器上录制视频并上传到LAMP服务器

    我已经尝试了很多东西 red5 jquery 网络摄像头 html5 但这些解决方案都没有录制视频并准备好上传到服务器 无论如何 html5 flash 等等 更好的跨浏览器解决方案 最好的 上传视频 音频 并将结果上传到服务器 我猜是通过
  • 响应式菜单:悬停子菜单显示错误

    简而言之 我根据教程创建了一个响应式菜单 当您将鼠标悬停在投资组合按钮上时 菜单应该显示子菜单 而在移动模式下 您需要按该按钮才能显示子菜单 效果很好 问题是该教程有一个错误 如果您在桌面模式下按组合按钮 子菜单将不会再次显示 除非您按 单
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如
  • 如何在 jQuery 中检查复选框是否被选中?

    我需要检查checked复选框的属性 并使用 jQuery 根据选中的属性执行操作 例如 如果age复选框被选中 然后我需要显示一个文本框来输入age 否则隐藏文本框 但下面的代码返回false默认情况下 if isAgeSelected
  • 我可以防止将 Leaflet 地图平移到世界边缘之外吗?

    有没有办法限制平移到世界边缘之外 在这幅画中 棕色是世界 灰色是虚空 我想让它不可能像这样平移 Leaflet 允许您控制地图抵抗被拖出边界的程度maxBoundsViscosity选项 值 0 到 1 将其设置为最大值会完全禁用拖动出界
  • 我无法使用 jQuery 和 abort() 函数停止 ajax 请求

    我的 jQuery 如下 var x ajax dataType jsonp url https ajax googleapis com ajax services search images q google v 1 0 success
  • Angular 5 中 Observable.ForkJoin 的重复 Http 请求

    我有一个 Angular 5 应用程序 组件中包含以下代码 ngOnInit Observable forkJoin this highlightedInsight this insightService getHighlightedIns

随机推荐