DevExtreme npm模块Uncaught TypeError:$(...)。dxButton不是函数

时间:2018-03-04 01:11:32

标签: javascript jquery npm webpack devextreme

按照建议在其页面https://www.npmjs.com/package/devextreme

中使用DevExtreme npm
var $ = require('jquery');
require('devextreme/ui/button');
var dialog = require('devextreme/ui/dialog');

$("#myButton").dxButton({
    text: "Say hello",
    onClick: function() {
        dialog.alert('Hello world!', '', false);
    }
});

HTML

<div id="myButton"></div>
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>

导致浏览器错误:

  

未捕获的TypeError:$(...)。dxButton不是函数

检查浏览器控制台和jQuery和$是否正确初始化,但$(...)。dxButton不是。 我也逐步完成了DX button.js,它似乎也初始化了(但这是一个局部变量$)

BTW:这也是webpack配置:

{
  "name": "devextreme-test",
  "version": "1.0.0",
  "description": "TBS",
  "dependencies": {
    "jquery": "^3.3.1",
    "devextreme": "^17.2.6"
  },
  "devDependencies": {
    "webpack": "^1.13.1"
  },
  "author": "anonymouse",
  "license": "MIT"
}

1 个答案:

答案 0 :(得分:0)

经过大量的搜索和调试后,我遇到了一个&#34;重大变化&#34;在发布网站上

  

BC4148 - 现在应手动导入jQuery集成模块   使用模块化方法时

这意味着您还必须在代码中添加以下内容以修复jQuery错误:

import 'devextreme/integration/jquery';

(太糟糕了,他们在他们的示例主要的npm页面中没有提到这一点。)