- 참고: github.com/expo/expo-cli/issues/191
App.js를 jsx로 확장자를 바꿨더니 expo 컴파일이 되지 않습니다. 확장자를 바꾼 이유는 Emmet이 .js 파일에서는 리액트 컴포넌트를 못 만들더라고요. 따로 설정하긴 싫고 저는 명시적으로 리액트 파일은 구분하는게 좋아 보여서 바꿨는데 사이드이펙이 있습니다.
원인은 expo에서 source 확장자가 정해져 있다는군요. 이걸 오버라이드 해줘야 합니다.
{
"expo": {
...
"packagerOpts": {
"sourceExts": ["js", "json", "ts", "tsx", "jsx"]
}
}
}
app.json을 열어서 이렇게 expo -> packagerOpts -> sourceExts를 설정해주면 됩니다.
기본적으로 jsx는 포함되지 않게 해놨다네요. 조만간 고칠 일은 없어보입니다 (참고: github.com/expo/expo-cli/pull/1185)
반응형