Angular 2自定义组件注册后仍报Module not found编译错误求助
解决Angular 2中自定义组件的Module not found编译错误
看起来你遇到的是Angular里很常见的相对路径配置问题,别着急,咱们一步步排查解决:
1. 修正组件的templateUrl路径
你的emp.component.ts里的templateUrl写的是'./Employee/emp.component.html',但这个组件文件本身就位于Employee文件夹下——Angular的相对路径是相对于当前组件文件所在目录的,所以你不需要再额外加上Employee/前缀。正确的写法应该是:
import {Component} from '@angular/core' @Component({ selector:'emp-tag', templateUrl:'./emp.component.html' // 去掉多余的Employee/前缀 }) export class EmployeeComponent { title: string = 'This is Employee Component'; // 顺便修正属性定义 }
2. 修正组件内的title属性语法
你原来的title : 'This is Employee Component';写法不符合TypeScript规范,会导致类型推断异常(虽然这不是本次编译错误的直接原因,但会引发后续运行问题),需要改成带类型声明的赋值写法,或者至少通过=明确完成赋值。
3. 确认文件结构匹配路径
确保你的文件结构和导入逻辑一致,应该是这样的层级:
src/app/ ├── app.component.ts ├── app.module.ts └── Employee/ ├── emp.component.ts └── emp.component.html
4. 重新启动开发服务
修改完成后,先停止当前的ng serve进程,再重新运行:
ng serve --open
错误原因说明
Angular解析组件的templateUrl时,会从当前组件文件的位置出发查找模板。你原来的路径./Employee/emp.component.html会让Angular去Employee/Employee/目录下找模板文件,而这个目录并不存在,所以抛出了Module not found的编译错误。
内容的提问来源于stack exchange,提问作者Srikanth Reddy
相关产品推荐
相关产品推荐

