我正在尝试将项目从 Angular 1 转换为 Angular 2。
这是一个带有一些通用代码的客户端和服务器项目(所以我把它放在一起)。我想在客户端使用 Angular 2,所以我遵循了ng2 QuickStart。我目前正在尝试在我的项目中构建它。
我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
)