Intento usar typescript 3.7
características como encadenamiento opcional, fusión nula. Pero webpack
me da un error al transpalear.
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
fuente
fuente
packages.json
archivo?Respuestas:
Cambié target:
esnext
aes2018
en eltsconfig.json
archivo. Ahora funciona.fuente
"foo".matchAll(/o+/g)
porque es una función ES2020.Según el cargador que esté utilizando para transponer el código, hay varias opciones disponibles.
Para
ts-loader
, debe asegurarse de que Webpack pueda entender la salida del mecanografiado. Esto puede lograrse mediante el establecimientotarget
deES2018
entsconfig.json
.Para ello
babel-loader
, deberá asegurarse de que Babel cargue@babel/plugin-proposal-nullish-coalescing-operator
enchufar. Tenga en cuenta que si está utilizando
preset-env
, puede cargar o no este complemento dependiendo de sutargets
obrowserlist
(es decir, no se cargará si el entorno de destino tiene soporte para estas características de idioma), en cuyo caso la única forma de garantizar su inclusión es especificando manualmente en laplugins
matriz enbabel.config.js
,fuente
Si está utilizando el código vs, probablemente debería cambiar la versión mecanografiada local vs el uso del código.
¿Qué versión de TypeScript está usando Visual Studio Code? ¿Cómo actualizarlo?
fuente