如何在同一个项目中使用Gulp和RequireJS的打字稿定义?

时间:2017-01-27 11:39:24

标签: visual-studio typescript gulp asp.net-core requirejs

我有一个使用Gulp和RequireJS的Visual Studio 2015 ASP.Net Core项目。 Gulp在编译时使用,并且在运行时使用RequireJS。

Gulp的打字稿定义包括节点的定义,这会导致与RequireJS的定义冲突:

TS2403 Build:Subsequent variable declarations must have the same type. Variable 'require' must be of type 'NodeRequire', but here has type 'Require'.

有办法解决这个问题吗?

手动编辑定义

我不想手动编辑定义文件,因为与直接从NPM获取维护问题相比,这会产生维护问题。

同样,它不能完全解决问题,因为require在其中一种情况下会有错误的类型,具体取决于我注释掉的内容。

相关的SO问题

我发现了这个问题:Unable to use requireJS and Node's Require in the same TypeScript project

它有一个答案建议在任何地方使用CommonJS,但由于我不拥有Gulp或RequireJS类型,我无法改变它。

1 个答案:

答案 0 :(得分:0)

希望您使用两个tsconfig.jsons,一个用于编译时关注,另一个用于运行时问题。使用两个配置,您可以使用types编译器选项明确选择要应用于每个目标的类型。