TypeScript を Babel でコンパイルしない
2021/12/21 14:07:56
@babel/preset-typescript は TypeScript を完全にはサポートしていない。
const enum をコンパイルできない。
2021/10/17 いまは const enum 対応しているっぽい?
型のインポートを、実体のインポートと間違えることがある。
re-export(
export {} from '';
)と関係あり? import type
を使って明示的に型をインポートすれば問題ない。 しかし、
import type
を使うとコードが煩雑になる。これからも TypeScript がアップデートされていくことも考えると、
TypeScript を Babel でコンパイルしないほうがいいかもしれない。
TypeScript は TypeScript にコンパイルさせる。
具体的には、Webpack で babel-loader の前段に ts-loader を入れる。
原点回帰かも?
js
{
test: /\.[jt]sx?$/,
use: [
{
loader: "babel-loader",
options: {
presets: [
[
"@babel/preset-env",
{
corejs: "3.18.3",
useBuiltIns: "entry",
},
],
],
},
},
{
loader: "ts-loader",
options: {
transpileOnly: true,
},
},
],
},