我在我的Aurelia应用程序中使用KendoUI。到目前为止,我们使用的是网格控件和自动完成控件。
尝试通过 ES6(使用 System.JS 和 import
语句)导入 Kendo 对象在 Kendo.all.min.js 中效果很好,因为它导出了一个包含所有命名空间的Kendo
对象。
我从Kendo.all.min.js的导入声明如下:
import * as Kendo from 'kendo';
然后我可以使用类似 var datasource = new Kendo.data.dataSource()
.(我已经设置了我的配置.js使用元部分将"剑道"指向正确的文件。
Kendo.all.min.js非常大,大多数功能都是不必要的。因此,我创建了一个Kendo.custom.min.js文件,其中只有我们正在使用的组件。但是,尝试通过 ES6 导入剑道不再有效。我不再收到导入对象上的任何可用属性。
如何让 Kendo 自定义构建与 ES6 导入一起使用?
我找到了答案 - 必须在config.js中指定。
因为 Kendo 默认是一个 AMD 软件包,JSPM(和其他加载程序,如 RequireJS)需要知道它导出的内容。我的 JSPM 配置中有这个:
meta: {
"vendor/kendo/kendo.custom.min.js": {
"deps": [
"github:components/jquery@2.1.4"
],
}
},
我不得不通过添加一行来更改它:
meta: {
"vendor/kendo/kendo.custom.min.js": {
"deps": [
"github:components/jquery@2.1.4"
],
"exports": "kendo"
}
},
。它奏效了。我现在在导出中看到剑道对象。