【问题标题】:How can I use the typescript definitions for both Gulp and RequireJS in the same project?如何在同一个项目中同时使用 Gulp 和 RequireJS 的 typescript 定义?
【发布时间】:2017-06-13 02:03:57
【问题描述】:

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

Gulp 的 typescript 定义包含 node 的定义,这会导致与 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 类型,我无法更改它。

【问题讨论】:

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


    【解决方案1】:

    希望您使用两个 tsconfig.json,一个用于编译时问题,一个用于运行时问题。通过两个配置,您可以使用 types 编译器选项显式选择应用于每个目标的类型。

    【讨论】:

    • 如何让 Visual Studio 支持两个不同的 tsconfig 文件?
    • 不幸的是,它们位于不同的目录中并明确命名为tsconfig.json。我曾经有两个构建目标,一个在目录a 中,一个在目录b 中,但我的 tsconfigs.jsons 是这些目录的兄弟:tsconfig-a.jsontsconfig-b.json。我不得不重命名两者并将它们分别移动到目录ab
    猜你喜欢
    • 2016-10-27
    • 2015-03-21
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2014-01-28
    • 2014-05-25
    相关资源
    最近更新 更多