使用带有 JSPM 的自定义 Kendo-UI 构建



我在我的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"
    }
  },

。它奏效了。我现在在导出中看到剑道对象。

最新更新