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

Using a custom Kendo-UI build with JSPM

我在我的 Aurelia 应用程序中使用 KendoUI。到目前为止,我们正在使用 Grid 控件和 Autocomplete 控件。

尝试通过 ES6 导入 Kendo 对象(使用 System.JS 和 import 语句)在 Kendo.all.min.js 中运行良好,因为它导出 [=14] =] 具有所有命名空间的对象。

我从Kendo.all.min.js导入的语句如下:

import * as Kendo from 'kendo';

然后我可以使用类似 var datasource = new Kendo.data.dataSource() 的东西。 (我已将 config.js 设置为使用元部分将 'kendo' 指向正确的文件。)

Kendo.all.min.js 相当大,大部分功能都是不必要的。因此,我创建了一个 Kendo.custom.min.js 文件,其中仅包含我们正在使用的组件。但是,尝试通过 ES6 导入 Kendo 不再有效。我不再收到有关导入对象的任何可用属性。

如何让 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"
    }
  },

...它 worked.I 现在在我的导出中看到 Kendo 个对象。