모든 프로젝트에서 사용되는 공통 페이지가 포함된 공통 구성 요소rd-component
를 작성하려고 합니다. 이 공개 페이지를 가져올 때 오류가 표시됩니다:
공개 페이지를 사용하여 간단한 구성 요소인 최소한의 재현 가능한 예를 만들었습니다.
으아아아이것은 Index.tsx
:
이것은 모든 패키지가 포함된 내 package.json입니다.
으아아아다음은 명령을 실행할 때의 전체 오류 출력입니다. npm run build
:
Module parse failed: The keyword 'interface' is reserved (15:0)
P粉0314920812024-03-22 13:46:49
기본적으로 TypeScript(또는 이를 사용하는 경우 create-react-app)는 node_modules
에서 모듈을 컴파일하지 않습니다.
다음은 Goods
구성 요소의 경우인 것 같습니다.
기본 구성에서는 node_modules
의 모든 항목이 순수 JavaScript 프로젝트에서 사용할 준비가 되어 있다고 가정합니다.
따라서 TypeScript로 작성된 라이브러리 구성 요소는 JavaScript로 변환될 것으로 예상됩니다.
그럼에도 프로젝트에 있는 라이브러리 소스의 TypeScript 파일에 심볼릭 링크를 추가하는 간단한 해결 방법을 시도해 볼 수 있습니다src
.
IIRC, 불행하게도 일부 빌드 엔진은 "너무" 똑똑해서 심볼릭 링크를 통해 실제 경로를 볼 수도 있습니다. 이 경우 컴파일 범위에 라이브러리를 수동으로 포함해야 합니다.
물론, 올바른 해결책은 라이브러리를 미리 컴파일하는 것입니다.