参见英文答案 > AngularJS 2.0 compile to ES6 4个
我想将使用Typescript编写的Angular2应用程序编译成ES6代码规划,最近使用Babel将其编译为ES5.但是我收到了错误:
node_modules/angular2/typings/es6-shim/es6-shim.d.ts(6,14): error TS2300: Duplicate identifier 'PropertyKey'.
<...>
node_modules/typescript/lib/lib.es6.d.ts(3841,14): error TS2300: Duplicate identifier 'PropertyKey'.
<...>
我试图解决这个问题,将指令noLib添加到我的tsconfig.json中,但是其中一个角度文件(zone.d.ts)需要导入es6-shim.d.ts
/// <reference path="es6-shim/es6-shim.d.ts" />
它与主要的脚本ES6库(lib.es6.d.ts)冲突.
我怎么解决这个问题?
最佳答案 你在tsconfig.json中试过这个吗?:
{
“compilerOptions”:{
“目标”:“ES6”
}
}
顺便问一下,如果你已经在使用打字稿,你为什么要使用babel?他们都是编译器,你只需要一个.如果你的代码用typescript编写,typescript编译器会把它编译成js,你不能重新编译它,因为它已经编译过了.只需选择目标编译器选项是否使用es5或es6语法,如果使用es6语法编译它,请确保在应用程序中添加es6垫片,以便它在尚未识别es6的浏览器上运行时.