ng build时Syncfusion ej2-angular-grids出现TS2694错误求助
解决Angular构建TS2694错误(@angular/core无ɵɵComponentDeclaration等导出)
核心问题分析
- TS2694错误的本质是Syncfusion Angular组件版本与当前Angular版本不兼容:
ɵɵComponentDeclaration、ɵɵFactoryDeclaration这类是Angular的内部编译API,不同Angular大版本的内部API结构存在差异,Syncfusion组件需要适配对应版本的Angular才能正常使用。 - 你的模块配置存在明显错误:使用的是
ejs-dropdownlist组件,但导入的却是GridModule,二者完全不匹配。
分步解决方案
1. 修正模块导入错误
修改module.ts,替换为DropdownList对应的专属模块:
import { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns'; @NgModule({ imports: [DropDownListModule] // 替换原GridModule })
2. 确保Syncfusion组件与Angular版本匹配
先查看当前Angular版本:
ng version
根据输出的Angular主版本,安装对应兼容的Syncfusion Angular下拉列表组件包(示例以Angular 15为例,替换为你的实际版本对应的Syncfusion版本):
npm install @syncfusion/ej2-angular-dropdowns@^20.4.38 --save
3. 清理依赖缓存并重新安装
执行以下步骤清除可能存在的依赖冲突:
- 删除项目根目录下的
node_modules文件夹、package-lock.json文件 - 重新安装所有依赖:
npm install
4. 验证构建结果
重新执行构建命令:
ng build
内容的提问来源于stack exchange,提问作者gopichand P
相关产品推荐
相关产品推荐

