har*_*ryg 6 typescript flowtype
我们正在将前端 React 应用程序从 Flow 迁移到 TypeScript。
我有 Webpack 和 TS 配置设置来加载 TypeScript 文件,并且所有编译和构建都很好。
流检查是单独执行的(不是构建过程的一部分),直到所有文件都切换到 TypeScript 为止,但由于这种性质的错误而失败:
src/SomeFlowModule.js:5
5: import TypeScriptModule from './TypeScriptModule';
^^^^^^^^^^^^^ ./TypeScriptModule. Required module not found
Run Code Online (Sandbox Code Playgroud)
有没有办法让 Flow 知道导入的 TypeScript 文件,也许只是将它们视为any?
我想出的解决方案是添加 TypeScript 文件的声明:
declare module TsStub {
declare var exports: any;
}
Run Code Online (Sandbox Code Playgroud)
您需要在 .flowconfig 中引用此存根,以便 Flow 在密钥下了解它[libs]。例如,如果它保存在interfaces/TsStub.js我只需将其添加到 .flowconfig 中:
[libs]
interfaces/
Run Code Online (Sandbox Code Playgroud)
然后在我的 .flowconfig 中引用存根:
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(ts\|tsx\)$' -> 'TsStub'
Run Code Online (Sandbox Code Playgroud)
我现在需要导入带有扩展名的 ts 文件(例如import myTsModule from 'my-ts-module.ts'),但它确实编译得很好。
当我开始将流文件转换为 TS 时,我只需要修复扩展名,但编译器可以帮助您完成此操作。
| 归档时间: |
|
| 查看次数: |
1072 次 |
| 最近记录: |