网站搜索

javascript - 在 React 应用中将 TypeScript 模块导入到 JS 模块


我有一个使用 create-react-app 创建的 React 应用。最近我为我需要的模块添加了一些源代码。它是用 TypeScript 编写的,并将保持使用 TypeScript。这不是我的选择。我已经安装了构建 TypeScript 所需的东西,这部分似乎运行正常。

然而,当我尝试将那个 TS 模块导入到我的常规 jsx 时,它显示 找不到模块。

举例说明:

shared/
    - MyTSModule/
        - index.tsx
    - OtherModule/
        - index.jsx
view/
    - MyView/
        - index.jsx

我正在尝试将 MyTSModule 导入到 MyView。错误是:Module not found: Error: Can't resolve 'shared/MyTSModule' in...

我像导入其他模块一样从 shared 导入:

import MyTSModule from 'shared/MyTSModule ';

我漏掉了什么?

答案#1

你不能从 JavaScript 导入 TypeScript 文件。你需要:

  1. 将 TypeScript 编译为 JavaScript,然后导入编译后的文件
  2. 将你的 JavaScript 文件转换为 TypeScript。

我个人建议将所有文件移植到 TypeScript,这样你会有更多的类型安全。