ts-loader和babel-loader在Typescript中使用webpack



所以我试图比较这两种组合的输出编译代码。

ts-loader

{
test: /.tsx?$/,
use: 'ts-loader',
}

babel-loader

use: {
loader: 'babel-loader',
options: {
presets:
[
"@babel/preset-react",
"@babel/preset-typescript",
]
}
}
  • 我得到babel-loader的编译时间低于ts-loader。
  • 此外,ts-loader看起来在引子下使用babel,至少在它的依赖项中。此外,babel-loader允许使用缓存cacheDirectory

问题

  1. 是否有办法在ts-loader中使用缓存,如babel中的cacheDirectory?
  2. 使用ts-loader而不是babel-loader还有其他好处吗?

您的问题:

  1. 正如有人已经提到的,在ts-loader中有一个实验性的设置来允许缓存,您可以查看配置参考以获取更多信息:https://github.com/TypeStrong/ts-loader#experimentalfilecaching
  2. Afaik babel自己不做类型检查,所以你必须运行TSC。此外,它不支持ts的'const enum'语法…

你也可以混合使用这两种方法,在开发版本中使用ts-loader,在产品版本中使用babel。

最新更新