Я пытаюсь преобразовать проект из Angular 1 в Angular 2.
Это клиент-серверный проект с некоторым общим кодом (поэтому я держу его вместе). Я хочу использовать Angular 2 на стороне клиента, поэтому я следовал Краткому руководству по ng2. В настоящее время я пытаюсь построить его внутри своего проекта.
Я использую TSD
для управления типами зависимостей. Некоторые из этих зависимостей, например socket.io
, зависят от node.d.ts
. Моя проблема в том, что angular2
уже выставляет node.d.ts
и создает внешнее определение, поэтому, когда я хочу использовать TSD
с angular2
, я получаю конфликт между двумя определениями:
typings\node\node.d.ts(961,9): error TS2300: Duplicate identifier 'path'.
Вот моя задача с глотком:
gulp.task('build.conflict', function(){
var browserProject = tsc.createProject('browser.tsconfig.json', {
typescript: typescript
});
var src = [
'src/browser/**/*.ts',
'typings/**/*.d.ts' // commenting out this line results in unknown modules
];
var result = gulp.src(src)
.pipe(tsc(browserProject));
return result.js
.pipe(gulp.dest('build/browser'));
});
Я также создал простой репозиторий, демонстрирующий мою проблему. Как я могу решить эту ошибку, сохраняя при этом свои TSD
наборы. (Лучшим решением было бы запретить angular2
раскрывать свои внутренние node.d.ts
)