Eu tento usar typescript 3.7
recursos como encadeamento opcional, coalescência nula. Mas webpack
dá-me um erro ao 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);
``
typescript
webpack
ts-loader
Edgaras Karka
fonte
fonte
packages.json
arquivo?Respostas:
Mudei target:
esnext
paraes2018
emtsconfig.json
arquivo. Agora funciona.fonte
"foo".matchAll(/o+/g)
pois é um recurso do ES2020.Dependendo do carregador que você está usando para transiple o código, há várias opções disponíveis
Para
ts-loader
, você precisa garantir que a saída do texto datilografado seja compreensível pelo Webpack. Isto pode ser conseguido através da criaçãotarget
deES2018
notsconfig.json
.Para isso
babel-loader
, é necessário garantir que o babel carregue o@babel/plugin-proposal-nullish-coalescing-operator
plugar. Observe que, se você estiver usando
preset-env
, ele pode ou não carregar esse plug-in, dependendo de vocêtargets
oubrowserlist
( ou seja, não será carregado se o ambiente de destino tiver suporte para esses recursos de idioma); nesse caso, a única maneira de garantir sua inclusão é especificando-o manualmente naplugins
matriz embabel.config.js
,fonte
Se você estiver usando código vs, provavelmente deverá alterar a versão datilografada local versus o uso do código.
Qual versão do TypeScript está usando o Visual Studio Code? Como atualizá-lo?
fonte