使用带有 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 个对象。
我在我的 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 个对象。