van*_*ert 7 javascript npm jquery-select2 webpack select2
我已select2通过以下方式下载为节点模块:
npm install select2
Run Code Online (Sandbox Code Playgroud)
并把它包括在我的app.js:
require('select2')($);
Run Code Online (Sandbox Code Playgroud)
webpack时没有错误,但当我打开应用程序时,我得到:
Uncaught TypeError: Object.defineProperty called on non-object(…)
Run Code Online (Sandbox Code Playgroud)
来自select2.js:
S2.define('select2/core',[
'jquery',
'./options',
'./utils',
'./keys'
], function ($, Options, Utils, KEYS) {
(...)
}
Run Code Online (Sandbox Code Playgroud)
是否因为模块封装器select2仅适用于AMD且与CommonJS不兼容而发生?
你在哪里看到这是如何使用 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如果没有)?