Angular项目迁移到Azure Windows VM报TS6053多余/src路径如何解决
Angular项目迁移Azure VM路径多出/src层级故障修复方案
- 核对命令执行工作目录
打开PowerShell执行pwd,确认当前路径为项目根目录(即包含angular.json、package.json、src文件夹的层级,对应你场景下应为C:/Users/<username>/projects/angular-soap-test)。如果当前路径已进入src文件夹内部,退回上一层级再执行构建/运行命令即可解决路径拼接异常。 - 核对项目实际目录结构
直接在文件资源管理器中打开项目根目录,确认目录结构符合标准Angular项目结构,不存在嵌套的src/src层级:
如果迁移时复制/解压操作异常导致多嵌套了一层src目录,直接调整目录结构即可。angular-soap-test/ ├─ angular.json ├─ package.json ├─ node_modules/ └─ src/ ├─ main.ts ├─ index.html └─ tsconfig.app.json - 核对tsconfig.app.json配置
打开src/tsconfig.app.json,检查rootDir字段配置是否为".",如果该字段被误设为"src",会导致路径解析多拼接一层src,修正后重新运行即可。 - 核对Angular CLI版本一致性
本地与虚拟机的CLI版本差异会导致路径解析逻辑不同,分别执行以下命令核对版本:- 全局CLI版本:
ng version - 项目局部CLI版本:查看package.json中
@angular/cli的依赖版本号
若版本不一致,优先使用项目局部CLI执行命令(通过npm run start/npm run build调用,避免直接用全局ng命令),或卸载虚拟机全局CLI后安装与本地一致的版本。
- 全局CLI版本:
- 对齐angular.json标准配置
你当前配置中sourceRoot已指定为src,构建选项下的路径默认相对于sourceRoot解析,因此不需要再加src/前缀,修正配置如下:
修正后执行"options": { "outputPath": "dist/demo", "index": "index.html", "main": "main.ts", "polyfills": "polyfills.ts", "tsConfig": "tsconfig.app.json", "assets": [ "favicon.ico", "assets" ] }ng cache clean清理构建缓存,删除node_modules和package-lock.json/yarn.lock文件后重新执行npm install安装依赖,再运行项目即可。
内容的提问来源于stack exchange,提问作者humble
相关产品推荐
相关产品推荐

