Angular 5中使用angular-medium-editor库报错:文件未纳入TypeScript编译
解决Angular项目中
angular-medium-editor的TypeScript编译错误 你遇到的问题核心是TypeScript编译器未将angular-medium-editor包内的.ts文件纳入编译范围,再加上你的Angular 5.2.0和该包的4.0.0-alpha版本存在兼容性不匹配的情况,才导致ng serve时抛出错误。下面是几个可行的解决方案:
方案1:调整TypeScript配置,让编译器包含该包文件
Angular默认的tsconfig配置会排除node_modules目录下的文件,但angular-medium-editor的这个alpha版本可能没有预编译成JavaScript,所以需要手动让TS编译它:
- 打开项目根目录下的
tsconfig.app.json(如果是较旧的Angular版本,可能是tsconfig.json) - 修改
include数组,添加该包的路径:"include": [ "src/**/*", "node_modules/angular-medium-editor/**/*.ts" ] - 或者,如果配置里有
exclude数组,可调整为排除除该包外的node_modules文件:"exclude": [ "node_modules/**/*", "!node_modules/angular-medium-editor/**/*" ]
方案2:降级angular-medium-editor到兼容Angular 5的版本
4.0.0-alpha版本大概率是针对Angular 6+开发的,和你的Angular 5.2.0不兼容。你可以安装适配Angular 4/5的稳定版本:
npm uninstall angular-medium-editor npm install angular-medium-editor@3.1.1 --save
方案3:清理缓存并重新构建
缓存异常也可能导致奇怪的编译问题,执行以下步骤重置:
- 清理npm缓存:
npm cache clean --force - 删除
node_modules和package-lock.json:rm -rf node_modules package-lock.json - 重新安装依赖:
npm install - 再次启动项目:
ng serve
方案4:更换更稳定的富文本编辑器包
如果上述方案都无法解决问题,建议换用对Angular版本兼容性更友好的编辑器,比如ngx-quill或者angular-froala-wysiwyg,这些包维护更活跃,版本适配也更完善。
内容的提问来源于stack exchange,提问作者K2A
相关产品推荐
相关产品推荐

