【问题标题】:gulp-typescript with requirejs and many path aliases and packages, error TS2307带有 requirejs 和许多路径别名和包的 gulp-typescript,错误 TS2307
【发布时间】:2015-12-02 00:24:38
【问题描述】:

我有一个主要是 JavaScript 的大型项目。我想添加一些 TypeScript。事情大多工作正常。但是,我有大量路径别名和包。所以,当我

 import foo = require('foo');

这将在运行时依赖于路径配置,比如说

 require.config({
     paths: {
         foo: 'foobar/baz/js/quux'
     }
 });

所以,可以预见的是,编译器给了我:

error TS2307: Cannot find module 'foo'

有什么方法可以加载到我的 requirejs 配置中,以便编译器满意吗?或者,有没有办法抑制/忽略错误?输出的 JavaScript 看起来和运行良好。如果我抑制错误,我想知道我会失去什么......我可以指定在哪里找到我的所有模块吗?

【问题讨论】:

    标签: javascript requirejs typescript gulp


    【解决方案1】:

    您可以在定义文件中声明自己的模块:

    // my-modules.d.ts
    declare module "foo" {
    }
    

    这样,只要my-modules.d.ts 文件与其余文件一起编译,gulp-typescript 就不会报错。

    【讨论】:

      【解决方案2】:

      有什么方法可以加载到我的 requirejs 配置中,以便编译器满意吗?

      还没有。留意https://github.com/Microsoft/TypeScript/issues/5039

      或者,有没有办法抑制/忽略错误?

      仅当您想完全不安全时,又名any

      var foo:any = require('foo');
      

      【讨论】:

        猜你喜欢
        • 2019-06-30
        • 1970-01-01
        • 2016-12-31
        • 2020-06-16
        • 2016-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-22
        相关资源
        最近更新 更多