CentOS运行Angular构建命令报TS2307模块找不到错误但Windows环境正常
CentOS环境Angular构建TS2307报错解决方案
报错信息
src/app/app.module.ts:18:42 - error TS2307: Cannot find module '@app/modules/


核心诱因
Windows文件系统默认不区分大小写,CentOS等Linux发行版文件系统严格区分大小写,是该跨平台构建报错的最常见原因
解决步骤
- 检查路径大小写匹配
确认tsconfig.json中配置的@app别名对应目录大小写、代码导入语句的路径大小写、实际文件系统的目录大小写三者完全一致。例如实际目录为src/App/modules、导入写为@app/modules的写法就会在Linux环境触发报错,Windows环境可正常运行。 - 核对tsconfig路径别名配置
确认项目根目录下的tsconfig.json已经正确配置路径别名,参考配置如下:
同时确认执行构建命令的工作目录为项目根目录,避免相对路径解析异常。{ "compilerOptions": { "baseUrl": "./", "paths": { "@app/*": ["src/app/*"] } } } - 核对文件/目录名大小写
逐一核对@app/modules对应目录下所有文件夹、文件的大小写,和导入语句中的写法完全匹配,避免出现导入写@app/modules/LoginModule、实际文件名为login.module.ts的不匹配情况。 - 清理缓存重新构建
执行以下命令清理缓存后重新执行构建命令即可:rm -rf node_modules/.cache dist ng build
内容的提问来源于stack exchange,提问作者Asif Ahmed
相关产品推荐
相关产品推荐

