TypeScript可以全局定位不同版本的Javascript - 您可以在转换ES3,ES5或ES6之间切换。
我们必须支持IE,因此ES3是我们最低的共同点。
然而,优秀的浏览器(如Chrome)已经支持ES6,并且能够通过优化运行显着更小的ES6代码。
因此,从同一个TypeScript源我想将ES3提供给IE,ES6提供给Chrome。
有没有办法让TypeScript转换多个JS文件(可能是*.es3
和*.es6
或类似的东西)所以我们可以选择要提供哪个版本? (理想情况下在VS 2015中)
或者在C#中我可以访问TypeScript转换器以在运行时完成该步骤吗?
答案 0 :(得分:2)
您实际上可以使用命令行(--target ES3
)指定which version you want to transpile。
您还可以指定输出目录,以便输出ES6和ES3转换后的代码,然后选择要动态引用的代码(使用old style IE ifs)。
答案 1 :(得分:2)
如何使用不同的tsconfig.json
文件?
例如:
- root
- ts-source
- js-es3
- tsconfig.json
- js
- js-es5
- tsconfig.json
- js
然后是root/js-es3/tsconfig.json
:
{
"compilerOptions": {
"target": "ES3",
"outDir": "js",
"rootDir": "../ts-srouce"
}
}
root/js-es5/tsconfig.json
:
{
"compilerOptions": {
"target": "ES5",
"outDir": "js",
"rootDir": "../ts-srouce"
}
}
我不是视觉工作室用户,因此我不知道如何在那里支持不同的tsconfig.json
文件,但即使你不能,也可以使用tsc
编译它。 / p>