Искам да компилирам приложението ми Angular2, написано в Typescript, в ES6 кодово планиране, което го компилира на 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
).
Как мога да разреша този проблем?
Отговори:
1 за отговор № 1Опитали ли сте това в tsconfig.json ?:
{
"compilerOptions": {
"target": "ES6"
}
}
btw защо използвате вавилон, ако вече стес помощта на машина? те са и двете компилатори само имате нужда от една.Ако имате вашия код, написан на машина, компилаторът на печата ще го компилира в js, не може да го прекомпилира, защото вече е съставен. Просто изберете опцията за съставител на целеви полета дали ще използвате syntax es5 или es6, ако го компилирате с помощта на es6 syntax, уверете се, че добавяте es6 shim към вашето приложение, когато се изпълнява от браузъри, които все още не разпознават es6.