typescript 3.7
Optional Chaining, Nullish Coalescing과 같은 기능 을 사용하려고합니다 . 그러나 webpack
transpaling하는 동안 오류가 발생합니다.
app: Module parse failed: Unexpected token (50:40)
app: File was processed with these loaders:
app: * ../../../node_modules/ts-loader/index.js
app: You may need an additional loader to handle the result of these loaders.
app: | export const Layout = (props) => {
app: | const regionsResults = useQuery(regionsQuery, { fetchPolicy: 'cache-first' });
app: > const regions = regionsResults.data?.regions ?? [];
app: | const userItem = useQuery(usersProfileQuery, { fetchPolicy: 'cache-first' });
app: | const handleOnClick = (selected) => props.history.push(selected.key);
``
답변
파일 에서 target : esnext
을 ( es2018
를) 변경했습니다 tsconfig.json
. 이제 작동합니다.
답변
코드를 변환하는 데 사용하는 로더에 따라 몇 가지 옵션을 사용할 수 있습니다
의 경우 ts-loader
Webpack에서 typescript의 출력을 이해할 수 있어야합니다. in 로 설정 target
하면 ES2018
됩니다 tsconfig.json
.
의 경우 babel-loader
babel이로드되도록해야합니다.
@babel/plugin-proposal-nullish-coalescing-operator
플러그인. 를 사용하는 경우 preset-env
또는에 따라이 플러그인을로드 targets
하거나 browserlist
로드하지 않을 수 있습니다 (예 : 대상 환경에서 이러한 언어 기능을 지원하는 경우로드되지 않음).이 경우 포함을 보장 할 수있는 유일한 방법입니다 수동에 의해 지정 인 plugins
에 배열 babel.config.js
,
plugins: [
'@babel/plugin-proposal-nullish-coalescing-operator',
],
답변
vs 코드를 사용하는 경우 로컬 유형 스크립트 버전과 코드 사용을 변경해야합니다.
Visual Studio Code는 어떤 TypeScript 버전을 사용합니까? 업데이트하는 방법?