簡體   English   中英

帶有requirejs和許多路徑別名和軟件包的gulp-typescript,錯誤TS2307

[英]gulp-typescript with requirejs and many path aliases and packages, error TS2307

我有一個大型項目,主要是JavaScript。 我想添加一些TypeScript。 事情基本上都很好。 但是,我有大量的路徑別名和包。 所以,當我

 import foo = require('foo');

例如,這將在運行時依賴於路徑配置

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

因此,可以預見的是,編譯器給了我:

error TS2307: Cannot find module 'foo'

有什么方法可以加載到我的requirejs配置中,以便編譯器滿意嗎? 另外,有沒有一種方法可以抑制/忽略該錯誤? 輸出的JavaScript看起來並運行良好。 如果我抑制了該錯誤,我想知道我會損失什么?我可以指定在哪里找到所有模塊嗎?

您可以在定義文件中聲明自己的模塊:

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

這樣,只要my-modules.d.ts文件與其余文件一起編譯,gulp-typescript就不會抱怨。

有什么方法可以加載到我的requirejs配置中,以便編譯器滿意嗎?

還沒。 請注意https://github.com/Microsoft/TypeScript/issues/5039

另外,有沒有一種方法可以抑制/忽略該錯誤?

僅當您想完全不安全時也any

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM