我通过以下方式下载了select2作为节点模块:
npm install select2并包括在我的app.js中
require('select2')($);
当我运行webpack时没有错误,但是当我打开应用程序时,我得到:
Uncaught TypeError: Object.defineProperty called on non-object(…)来自select2.js
S2.define('select2/core',[
'jquery',
'./options',
'./utils',
'./keys'
], function ($, Options, Utils, KEYS) {
(...)
}发生这种情况是因为select2的模块包装器只与CommonJS兼容吗?
发布于 2017-01-11 16:40:36
你认为这是如何使用select2的地方?据我所见,从项目中可以看出,您需要安装jquery作为一个dep,但是它将是自动要求。
查看导出函数的签名,它看起来可能需要一个jQuery元素和选项:https://github.com/select2/select2/blob/master/dist/js/select2.js#L5052
然而,在导入它之后,它应该作为插件附加到jQuery上,所以我认为$('.some-element').select2([options]);也能工作。
那么,您是否只是尝试过require('select2') (如果没有,则使用npm i jquery --save )?
发布于 2020-12-01 19:54:57
如果有人现在正在寻找它,只是做了require('select')不准备添加jquery,那么您可以调用require('select2')();
$(document).ready(()=>{
$('.select2').select2()
})那就成功了。现在我用电子js测试了这个。起作用了!
在我的文档中,我首先导入所有东西jquery,然后导入select2。
window.$ = window.jQuery = require("jquery");
require('select2')();https://stackoverflow.com/questions/41299072
复制相似问题