J'essaie d'utiliser TypeScript 3.7
des fonctionnalités comme le chaînage en option, 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);
``
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éfinissez target
sur ES2018
dans tsconfig.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 votre targets
ou browserlist
(c'est-à-dire qu'il ne sera pas chargé si l'env cible prend en charge ces fonctionnalités de langage), auquel cas la seule façon de l'inclure est de la spécifier manuellement dans le tableau plugins
dans babel.config.js
.