Я пытаюсь использовать typescript 3.7
такие функции, как Optional Chaining, Nullish Coalescing. Но webpack
выдает ошибку при транспортировке.
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);
``
typescript
webpack
ts-loader
Эдгарас Карка
источник
источник
packages.json
файл?Ответы:
Я изменил цель:
esnext
чтобыes2018
вtsconfig.json
файле. Теперь это работает.источник
"foo".matchAll(/o+/g)
потому что это функция ES2020.В зависимости от того, какой загрузчик вы используете для передачи кода, доступно несколько вариантов
Для
ts-loader
, вам нужно убедиться, что вывод из машинописного текста понятен Webpack. Это может быть достигнуто путем установкиtarget
наES2018
вtsconfig.json
.Для
babel-loader
, вам необходимо убедиться , что Бабель загружает@babel/plugin-proposal-nullish-coalescing-operator
плагин. Обратите внимание, что если вы используете
preset-env
, он может или не может загрузить этот плагин в зависимости от вашегоtargets
илиbrowserlist
(т.е. не будет загружен, если целевой env имеет поддержку этих языковых функций), и в этом случае единственный способ гарантировать его включение вручную указав его вplugins
массивеbabel.config.js
,источник
Если вы используете vs код, вероятно, вам следует изменить локальную версию машинописного текста в сравнении с использованием кода.
Какую версию TypeScript использует код Visual Studio? Как его обновить?
источник