J'essaie d'utiliser des typescript 3.7
fonctionnalités comme le chaînage facultatif, la coalescence nulle. Mais webpack
me donne une erreur lors du 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
la source
la source
packages.json
dossier?Réponses:
J'ai changé la cible:
esnext
àes2018
entsconfig.json
fichier. Maintenant ça marche.la source
"foo".matchAll(/o+/g)
car il s'agit d'une fonctionnalité ES2020.Selon le chargeur que vous utilisez pour transcrire le code, plusieurs options sont disponibles
Pour
ts-loader
, vous devez vous assurer que la sortie de typescript est compréhensible par Webpack. Pour ce faire, définisseztarget
surES2018
intsconfig.json
.Pour
babel-loader
, vous devrez vous assurer que babel charge le@babel/plugin-proposal-nullish-coalescing-operator
brancher. Notez que si vous utilisez
preset-env
, il peut ou non charger ce plugin en fonction de votretargets
oubrowserlist
(c'est-à-dire, ne sera pas chargé si l'env cible prend en charge ces fonctionnalités de langage), auquel cas le seul moyen de garantir son inclusion est en le spécifiant manuellement dans leplugins
tableau dansbabel.config.js
,la source
Si vous utilisez du code vs, vous devriez probablement changer la version locale du script par rapport à l'utilisation du code.
Quelle version TypeScript utilise Visual Studio Code? Comment le mettre à jour?
la source