2016-10-12 2 views
2

ngc으로 Angular 2 응용 프로그램을 컴파일 할 때마다 모든 구성 요소에 대해 .ngfactory.ts 개의 파일을 만든 다음 모든 타이 스크립트를 javascript로 컴파일합니다.ngfactory 파일 자체를 Angular 2 AOT 컴파일로 컴파일해야합니까?

그러나 처음으로 'ngc '를 실행하면 ngfactory 파일이 생성되지만 기타 개 파일 만 javascript로 컴파일됩니다. 이는 컴파일 된 ngfactory 자바 스크립트 파일이 생성되지 않음을 의미합니다.

두 번째 실행에서는 ngfactory 파일도 컴파일합니다 (소스와 동일한 폴더에서 생성 된 파일 일 가능성이 높음).

내 질문 : ngfactories 자체가 컴파일되어 있는지 여부 응용 프로그램에 어떤 방식 으로든 영향을 줍니까?

답변

2

ngfactory 파일은 이미 컴파일 된 결과이므로 다시 컴파일하면 안됩니다.

ngfactory.ts 파일의 특수 디렉토리를 지정하는 것이 가장 좋습니다. 당신의 tsconfig.json에 넣고

"angularCompilerOptions": { 
    "genDir": "compiled" 
} 

이것은 compiled 폴더에 생성 된 파일을 넣어 NGC 말할 것이다.

+0

잘 알고 있습니다. 그러나 종종'tsconfig.json'은 소스 폴더에 있기 때문에''genDir ":"compiled "를 설정하면 소스 폴더 (서브 폴더 아래)에 ngfactories가 유지됩니다. ''genDir '': "../ compiled"는 아마도 더 잘 작동 할 것입니다. – Tuupertunut

+1

맞습니다. 솔루션이 더 깨끗합니다. 또한 그 폴더를'.gitignore'에 추가 할 것을 제안합니다. –

+0

첫 번째 컴파일 후에도 ngfactory 파일이 항상 다시 컴파일되고 다른 라이브러리에 파일을 생성하더라도. 파일을 다시 컴파일하는 이유가 확실하지 않습니다 ... 어떤 아이디어입니까? – Loves2Develop