使用 Rollup 和外部依赖项部署 Angular 2 应用程序 Aot

2024-02-03

我已经实现了一个 Angular 2 应用程序,它利用Kendo UI 网格 http://www.telerik.com/kendo-angular-ui/:
使用 AoT + Rollup 部署应用程序时我陷入困境:

错误:“GridModule”未由 node_modules\@progress\kendo-angular-grid\dist\npm\js\main.js 导出(由 app\app.module.js 导入)。

Tried this https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module来自 Rollup 文档,但我不明白如何配置namedExports:

commonjs({
  namedExports: {
    'node_modules/@progress/kendo-angular-grid/dist/npm/js/main.js': [ 'GridModule' ]
  }
});

使用上述配置并不能解决问题。

编辑: 最后我的网格工作配置是:

namedExports: {
            '@progress/kendo-angular-grid': ['GridModule'],
            '@progress/kendo-angular-intl/dist/npm/js/intl.service': ['IntlService'],
            '@progress/kendo-angular-intl/dist/npm/js/cldr-intl.service': ['CldrIntlService'],
            '@progress/kendo-angular-grid/dist/npm/js/grid.module': ['GridModule'],
            '@progress/kendo-angular-grid/dist/npm/js/shared.module': ['SharedModule'],
            '@progress/kendo-angular-grid/dist/npm/js/grid.component': ['GridComponent', 'DEFAULT_SCROLLER_FACTORY'],
            '@progress/kendo-angular-grid/dist/npm/js/browser-support.service': ['BrowserSupportService'],
            '@progress/kendo-angular-grid/dist/npm/js/selection.service': ['SelectionService'],
            '@progress/kendo-angular-grid/dist/npm/js/details.service': ['DetailsService'],
            '@progress/kendo-angular-grid/dist/npm/js/column.component': ['ColumnComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/header-template.directive': ['HeaderTemplateDirective'],
            '@progress/kendo-angular-grid/dist/npm/js/col-group.component': ['ColGroupComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/cell-template.directive': ['CellTemplateDirective'],
            '@progress/kendo-angular-grid/dist/npm/js/header.component': ['HeaderComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/resizable.directive': ['ResizableContainerDirective'],
            '@progress/kendo-angular-grid/dist/npm/js/list.component': ['ListComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/pager.component.js': ['PagerComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/template-context.directive': ['TemplateContextDirective'],
            '@progress/kendo-angular-grid/dist/npm/js/footer.component': ['FooterComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/selectable.directive': ['SelectableDirective'],
            '@progress/kendo-angular-grid/dist/npm/js/table-body.component': ['TableBodyComponent'],
            '@progress/kendo-angular-grid/dist/npm/js/field-accessor.pipe': ['FieldAccessorPipe'],
            '@progress/kendo-angular-grid/dist/npm/js/list.component': ['ListComponent', 'SCROLLER_FACTORY_TOKEN','DEFAULT_SCROLLER_FACTORY']
        }

如果启用“包含”部分则不起作用


更新(2016 年 12 月 7 日):所有包都已更新为导出 ES2015 模块包,因此与 Rollup 的集成应该可以开箱即用。


2016 年 11 月 7 日:在撰写本文时,Kendo UI for Angular 的 NPM 包不提供模块入口点(使用imports/export), 哪个是汇总所需 https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module自动工作。我们计划在未来推出它们;直到它们到位为止,这个问题可以通过解决namedExports https://github.com/graphicsxp/ecdt-mobile/blob/master/config/rollup.config.js#L41-L76.

请参阅相关的 GitHub 问题 https://github.com/telerik/kendo-angular2/issues/80

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rollup 和外部依赖项部署 Angular 2 应用程序 Aot 的相关文章

随机推荐