Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ts加载器与babel加载器在使用Web包的Typescript中的比较_Typescript_Webpack_Babeljs_Babel Loader_Ts Loader - Fatal编程技术网

ts加载器与babel加载器在使用Web包的Typescript中的比较

ts加载器与babel加载器在使用Web包的Typescript中的比较,typescript,webpack,babeljs,babel-loader,ts-loader,Typescript,Webpack,Babeljs,Babel Loader,Ts Loader,所以我试着比较这两种组合编译的输出代码 ts加载器 { test: /\.tsx?$/, use: 'ts-loader', } use: { loader: 'babel-loader', options: { presets: [ "@babel/preset-react", "@babel/preset-typescript

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

ts加载器

  {
    test: /\.tsx?$/,
    use: 'ts-loader',
  }
  use: {
      loader: 'babel-loader',
      options: {
        presets:
          [
            "@babel/preset-react",
            "@babel/preset-typescript",
          ]
      }
    }
巴别塔装载机

  {
    test: /\.tsx?$/,
    use: 'ts-loader',
  }
  use: {
      loader: 'babel-loader',
      options: {
        presets:
          [
            "@babel/preset-react",
            "@babel/preset-typescript",
          ]
      }
    }
  • 我得到的babel loader的编译时间低于ts loader
  • 而且,至少在它的依赖关系中
  • 此外,babel loader允许将缓存与cacheDirectory一起使用
问题

  • 有没有办法像babel中的cacheDirectory那样在ts加载器中使用缓存
  • 使用ts加载器代替babel加载器还有其他好处吗
  • 关于您的问题:

  • 正如有人已经提到的,ts loader中有一个允许缓存的实验设置,您可以查看配置参考以了解更多信息:
  • Afaik babel本身不进行类型检查,因此您必须为此运行TSC。它也不支持ts的“const enum”语法

  • 您还可以混合使用2个,用于开发的ts loader和用于产品构建的babel。

    我将开始一个悬赏,因为我对这个主题感兴趣,并且看到了投票结果,我想也有更多的人感兴趣。您读过这篇文章吗?对于您的第一个问题,有一个For-ts加载程序,但它的名称中似乎有实验性的,所以我不依赖它。对于你的第二个问题,我没有使用ts loader,因为babel loader在一个包中提供了一切和更多。即使我使用了ts loader,我仍然需要babel进行其他转换。