我们正在将前端React应用程序从Flow迁移到TypeScript。
我有Webpack和TS配置设置来加载TypeScript文件,所有这些都可以编译和构建。
流检查是单独执行的(不是构建过程的一部分),直到所有文件都切换到TypeScript,但是这种情况出现了错误:
src/SomeFlowModule.js:5
5: import TypeScriptModule from './TypeScriptModule';
^^^^^^^^^^^^^ ./TypeScriptModule. Required module not found
有没有办法让Flow知道导入的TypeScript文件,也许只是将它们视为any
?
答案 0 :(得分:0)
我想出的解决方案是为TypeScript文件添加一个声明:
SELECT * FROM (
SELECT dbo.Table1.Table1_ID, dbo.Table1.Name, dbo.Table5.Ergebniss,
dbo.Table2.Datum, dbo.Table3.Stelle, dbo.Table2.Nummer
FROM dbo.Table1
INNER JOIN dbo.Table2 ON dbo.Table1.Table1_ID = dbo.Table2.Table1_ID
INNER JOIN dbo.Table3 ON dbo.Table2.Table2_ID = dbo.Table3.Table2_ID
INNER JOIN dbo.Table4 ON dbo.Table3.Table3_ID = dbo.Table4.Table3_ID
INNER JOIN dbo.Table5 ON dbo.Table4.Table4_ID = dbo.Table5.Table4_ID
GROUP BY dbo.Table1.Table1_ID, dbo.Table1.Name, dbo.Table5.Wert2,
dbo.Table5.Wert1, dbo.Table5.Ergebniss, dbo.Table2.Datum,
dbo.Table2.Nummer, dbo.Table3.Stelle
HAVING (dbo.Table1.Table1_ID = 1)
AND (dbo.Table2.Nummer = (SELECT MAX(dbo.Table2.Nummer) AS
MaxSchichtNummer
FROM dbo.Table1
INNER JOIN dbo.Table2 ON dbo.Table1.Table1_ID = dbo.Table2.Table1_ID
WHERE (dbo.Table1.Table1_ID = 1))) ) AS TG
where tg.Nummer
in (Select top 5000 Nummer from dbo.Table2 where Table1_ID=1 order by datum
desc) order by Datum desc
您需要在.flowconfig中引用此存根,以便Flow在declare module TsStub {
declare var exports: any;
}
键下知道它。例如。如果将其保存在[libs]
中,则只需将其添加到.flowconfig:
interfaces/TsStub.js
然后在我的.flowconfig中引用存根:
[libs]
interfaces/
我现在需要导入扩展名为ts的文件(例如module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(ts\|tsx\)$' -> 'TsStub'
),但是可以编译。
当我开始将流文件转换为TS时,我只需要修复扩展名,但是编译器会为此提供帮助。