728x90

새로운 Component 를 생성하고 빌드를 하던 중 에러가 발생하였다.
에러의 내용은 ERROR in HostResourceResolver: could not resolve in context of '새로만들었던 컴포넌트의 file path'
이렇게만 나와서 뭐가 문제인지를 몰랐었는데
기존의 코드를 복붙해오다가 뭔가 문제가 생겼겠거니 해서 하나하나 다시 보기로 했다.
복붙해온 코드는
@Component({
selector : '셀렉터'
templateUrl : 'HTML 파일명'
styleUrls : ['']
})
export class 컴포넌트명 implements OnInit{
dt1 : DatatableComponent;
datas = [];
dataTableOptions : DatatableOptions = {}
ngOnInit(): void {
}
}
위와 같이 복붙을 해왔었는데
보자마자 잘못된 점을 바로 캐치해낸 분들도 있겠지만
이제 막 앵귤러를 접한 지금의 나로써는 상당히 당혹스러운 경험이었다.
문제점은 styleUrls 에 ''을 남겨둠으로써 참조할 css 파일을 찾을 수 없었기 때문에 났던 문제였고,
배열 안의 ''를 없애주니 빌드가 정상적으로 잘 되었다.
앵귤러는 에러 메시지를 세세하게 띄워주지 않는 경우들이 간혹 있어서 이렇게 정리를 해둔다.
근데 한가지 의문인건 constructor가 없는데, 명시적으로 써주지 않으면 기본 constructor가 동작을 하는건지
빌드상에서는 아무런 문제가 없었다는 것이다.
이 문제는 후에 constructor와 OnInit에 대한 공부와 연계해서 답을 찾을 수 있을 것 같다.
참고할 문헌 : https://stackoverflow.com/questions/35763730/difference-between-constructor-and-ngoninit
728x90