簡體   English   中英

在Flow中導入TypeScript模塊

[英]Importing TypeScript modules in Flow

我們正在將前端React應用程序從Flow遷移到TypeScript。

我有Webpack和TS配置設置來加載TypeScript文件,並且所有這些都可以編譯和構建。

流檢查是單獨執行的(不是構建過程的一部分),直到所有文件都切換到TypeScript,但這會失敗,並出現以下性質的錯誤:

src/SomeFlowModule.js:5
  5: import TypeScriptModule from './TypeScriptModule';
                           ^^^^^^^^^^^^^ ./TypeScriptModule. Required module not found

有沒有一種方法可以使Flow知道導入的TypeScript文件,也許只是將它們視為any

我想出的解決方案是為TypeScript文件添加一個聲明:

declare module TsStub {
  declare var exports: any;
}

您需要在.flowconfig中引用此存根,以便Flow在[libs]鍵下知道它。 例如,如果將其保存在interfaces/TsStub.js ,則將其添加到.flowconfig中:

[libs]
interfaces/

然后在我的.flowconfig中引用存根:

module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(ts\|tsx\)$' -> 'TsStub'

現在,我需要導入帶有擴展名的ts文件(例如, import myTsModule from 'my-ts-module.ts' ),但是編譯起來還不錯。

當我開始將流文件轉換為TS時,我只需要修復擴展名,但是編譯器會為此提供幫助。

暫無
暫無

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

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