Saya mencoba menggunakan typescript 3.7
fitur seperti Chaining Opsional, Nullish Coalescing. Tetapi webpack
memberi saya kesalahan saat mengubah posisi.
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
sumber
sumber
packages.json
file Anda ?Jawaban:
Saya mengubah target:
esnext
kees2018
dalamtsconfig.json
file. Sekarang berhasil.sumber
"foo".matchAll(/o+/g)
sebab itu fitur ES2020.Tergantung pada pemuat yang Anda gunakan untuk transiple kode, ada beberapa opsi yang tersedia
Untuk
ts-loader
, Anda perlu memastikan output dari naskah dapat dimengerti oleh Webpack. Ini dapat dicapai dengan mengaturtarget
keES2018
dalamtsconfig.json
.Untuk
babel-loader
, Anda harus memastikan babel memuat@babel/plugin-proposal-nullish-coalescing-operator
plugin. Perhatikan bahwa jika Anda menggunakan
preset-env
, itu mungkin atau mungkin tidak memuat plugin ini tergantung pada Andatargets
ataubrowserlist
(yaitu, tidak akan dimuat jika target env memiliki dukungan untuk fitur bahasa ini), dalam hal ini satu-satunya cara untuk menjamin dimasukkannya adalah dengan secara manual menentukannya dalamplugins
array dibabel.config.js
,sumber
Jika Anda menggunakan kode vs, mungkin Anda harus mengubah versi naskah lokal vs penggunaan kode.
Versi TypeScript apa yang digunakan Visual Studio Code? Bagaimana cara memperbaruinya?
sumber