从bootstrap-table v。1.14.2更新到bootstrap-table v。1.15.2后,出现此错误
Uncaught TypeError: $('#table').bootstrapTable is not a function
注意:
我发现问题是bootstrapTable
函数没有最终出现在jQuery元素原型中。我查看了node_modules / bootstrap-table / dist / bootstrap-table.js中的dist文件夹,并看到了这一点(针对v 1.15.2):
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) :
typeof define === 'function' && define.amd ? define(['jquery'], factory) :
(global = global || self, global.BootstrapTable = factory(global.jQuery));
}(this, function ($) {
// do some stuff
$.fn.bootstrapTable = function (option, ...args) { ... }
// do some other stuff
}));
而对于v 1.14.2版本,它看起来像这样:
(function (global, factory) {
if (typeof define === "function" && define.amd) { define([], factory); }
else if (typeof exports !== "undefined") { factory(); }
else {
var mod = {
exports: {}
};
factory();
global.bootstrapTable = mod.exports;
}
})(this, function () {
// do some stuff
$.fn.bootstrapTable = function (option, ...args) { ... }
// do some other stuff
});
问题是在1.15.2版中。我们需要新的jQuery实例,因此当我使用$('#table').bootstrapTable
时,$
与bootstrap-table.js
中的相同变量不同,但是在1.14.2中,我们< strong>使用全局$变量,因此当我使用$('#table').bootstrapTable
时,$
与bootstrap-table.js
中的对象相同,因此我们有bootstrapTable
函数。我可以以某种方式解决此问题吗?