Angular升级至9.0.0-next.4后未使用路由却出现TS编译警告如何解决
解决Angular 9.0.0-next.4中未使用路由模块的编译警告
你升级到Angular 9.0.0-next.4后,明明没用到路由功能,却一直收到关于app-routing.module.ts的编译警告,这个问题其实很常见,结合你的配置,我给你几个简单可行的解决办法:
方案1:直接移除未使用的路由模块文件
既然你完全不需要路由功能,最干脆的方式就是删掉src/war/angular/src/app/app-routing.module.ts这个文件。同时别忘了打开app.module.ts,把里面导入的AppRoutingModule以及imports数组里对应的引用一并移除,这样TypeScript编译时就不会再处理这个无用文件了。
方案2:通过tsconfig.json排除该文件
如果你不想删除文件(比如以后可能会用到路由),可以修改你的tsconfig.json,添加exclude配置项,把这个未使用的路由模块排除在编译范围之外:
{ "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "module": "esnext", "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, "target": "es2015", "typeRoots": [ "node_modules/@types" ], "lib": [ "es2018", "dom" ] }, "exclude": [ "src/war/angular/src/app/app-routing.module.ts" ] }
修改完成后,重启你的Angular开发服务,这个警告应该就会消失了。
额外提示:版本兼容性问题
另外注意到你的devDependencies里@angular-devkit/build-angular是^0.803.2版本,和你用的Angular 9.x核心库版本不匹配。虽然这不是当前警告的直接原因,但长期来看可能会引发其他兼容性问题,建议你把它升级到对应的9.x版本(比如^9.0.0-next.4)。
内容的提问来源于stack exchange,提问作者dota2pro
相关产品推荐
相关产品推荐

