我正在尝试配置一个 angular2+express 项目。我了解问题的原因,但不是正确的解决方案。以下是我的 package.json 依赖项的相关部分:
"dependencies": {
"angular2": "2.0.0-beta.0",
"express": "^4.13.3",
"tsd": "^0.6.5",
"typescript": "^1.4.1",
<...lots of peer dependencies>
}
节点 5.2.0 已全局安装。当我运行时tsd install
,我./typings/node.d.ts
被拉进来,因为评论声称是 v0.12.0 API。但这与angular2/typings/node/node.d.ts
(也声称 v0.12.0)相冲突。.d.ts 文件不同,例如:
./node_modules/angular2/typings/node/node.d.ts
---> declare var global: NodeJS.Global;
./typings/node/node.d.ts
---> declare var global: any;
结果是大量的TS2300: Duplicate identifier
错误。我可以通过手动删除./typings/node
和编辑./typings/express/express.d.ts
来解决这个问题:
/// <reference path="../../node_modules/angular2/typings/node/node.d.ts" />
现在一切正常,但显然这只是简单的“错误”。引入 expres.d.ts 以使其与 Angular 2 配合得很好的标准方法是什么?