首页 > 解决方案 > 使用 Angular 6 构建 App :ag-grid 后出错

问题描述

我正在使用 angular 6 的 ag-grid,所以一切正常,但是当我用它构建我的应用程序时,ng build它构建成功,但是当我运行我的应用程序时,我收到了这个错误:

ERROR TypeError: Cannot read property 'AG_GRID' of undefined at ComponentProvider.push.../node_modules/ag-grid/dist/lib/components/framework/componentProvider.js.ComponentProvider.retrieve (main.cd682685b0beea93bbaf.js:48587)
    at ComponentResolver.push.../node_modules/ag-grid/dist/lib/components/framework/componentResolver.js.ComponentResolver.resolveByName (main.cd682685b0beea93bbaf.js:48969)
    at ComponentResolver.push.../node_modules/ag-grid/dist/lib/components/framework/componentResolver.js.ComponentResolver.getComponentToUse (main.cd682685b0beea93bbaf.js:48965)
    at ComponentResolver.push.../node_modules/ag-grid/dist/lib/components/framework/componentResolver.js.ComponentResolver.newAgGridComponent (main.cd682685b0beea93bbaf.js:49087)
    at ComponentResolver.push.../node_modules/ag-grid/dist/lib/components/framework/componentResolver.js.ComponentResolver.createAgGridComponent (main.cd682685b0beea93bbaf.js:49050)
    at ComponentRecipes.push.../node_modules/ag-grid/dist/lib/components/framework/componentRecipes.js.ComponentRecipes.newLoadingOverlayComponent (main.cd682685b0beea93bbaf.js:48740)
    at OverlayWrapperComponent.push.../node_modules/ag-grid/dist/lib/rendering/overlays/overlayWrapperComponent.js.OverlayWrapperComponent.showLoadingOverlay (main.cd682685b0beea93bbaf.js:68183)
    at BorderLayout.push.../node_modules/ag-grid/dist/lib/layout/borderLayout.js.BorderLayout.showLoadingOverlay (main.cd682685b0beea93bbaf.js:63585)
    at GridPanel.push.../node_modules/ag-grid/dist/lib/gridPanel/gridPanel.js.GridPanel.showLoadingOverlay (main.cd682685b0beea93bbaf.js:58572)
    at GridPanel.push.../node_modules/ag-grid/dist/lib/gridPanel/gridPanel.js.GridPanel.init (main.cd682685b0beea93bbaf.js:57948)

标签: angularag-grid

解决方案


你有一个运行时错误。错误消息表明,有一个对象,它应该有一个属性(AG_GRID),但它是 value undefined,因此没有“undefined.AG_GRID”,所以它抛出一个 TypeError。

此外,由于问题不在您的代码中,而是在您的依赖项(node_modules文件夹)中,因此很可能您的依赖项版本存在一些问题。

尝试:

  • 删除 node_modules 文件夹
  • 运行 ng update --all
  • 运行 npm 安装
  • 尝试 ng serve 在本地调试

如果包已过时,您可能需要返回几个版本,或将其从项目中删除,直到它被修复或更新。检查项目的官方存储库,因为那里有类似的问题:所以你可能还不能使用 angular 6 的工具。


推荐阅读