reactjs - 找不到 typescript 模块无法解决

标签 reactjs typescript webpack

我正在构建一个 react + typescript 应用程序,我在其中创建了一个模块,该模块具有在我的项目类中使用的所有接口(interface)。我的 IDE 很好地解析了这些接口(interface),但 webpack 总是发送以下错误。我尝试了不同的东西,但无法让那个消失。
任何帮助将不胜感激

ERROR in ./assets/src/Pages/Login.tsx Module not found: Error: Can't resolve 'seeyouftp' in 'var/www/app/assets/src/Pages'
 @ ./assets/src/Pages/Login.tsx 43:18-38
 @ ./assets/src/Config/App.tsx
 @ ./assets/entries/bundle.js
我的定义文件在这里
|— definitions
     |— types.d.ts
|— entries
|— fonts
|— less
|— src
我的定义文件的摘录
declare module 'seeyouftp' {
  interface User {
    admin: boolean;
    roles: string[];
    username: string;
  }

  enum AuthStates {
    success = 'success',
    error = 'error'
  }
tsconfig.json
{
  "compilerOptions": {
    "allowJs": true,
    "allowUnreachableCode": false,
    "baseUrl": "./assets",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "jsx": "react",
    "lib": [
      "dom",
      "es2019",
      "esnext"
    ],
    "module": "commonjs",
    "moduleResolution": "node",
    "noImplicitAny": true,
    "noImplicitReturns": true,
    "outDir": "./dist/",
    "resolveJsonModule": true,
    "skipDefaultLibCheck": true,
    "sourceMap": true,
    "strictPropertyInitialization": false,
    "strictNullChecks": true,
    "target": "es5",
    "typeRoots": [
      "./assets/definitions/types.d.ts",
      "./node_modules/@types"
    ],
    "types": [
      "node"
    ]
  },
  "include": [
    "./assets/src/**/*",
    "./assets/definitions/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}
我像这样导入创建的接口(interface):import { Item, PlayableMedia } from 'seeyouftp';

最佳答案

该错误消息实际上非常具有误导性,看起来像是一个 typescript 错误。
看来 enums不能直接导出,看来需要使用 const能够正确导出它们。
所以我修改了我的enum像这样声明

declare module 'seeyouftp' {

  // exporting a const instead of 
  export const enum AuthStates {
    success = 'success',
    error = 'error'
  }
}
现在一切正常,但是该错误消息非常非常糟糕且耗时

关于reactjs - 找不到 typescript 模块无法解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62483612/

相关文章:

javascript - onClick 不触发点击处理程序

javascript - 如何在 Angular 4 中进行 i18n 翻译以获得动态值?

javascript - 如何在 webpack hook 中打破循环

reactjs - 如何使用 sinon stub 文档方法 - React

javascript - this.context 在使用 react-router 时不包含 router

angular - 当选项具有条件名称时如何按字母顺序排序垫选择

javascript - web pack 4 中的非 JavaScript 资源是否需要入口点?

javascript - 使用文件加载器将 Webpack 多入口点打包到一个文件中

reactjs - 在 React js 中将功能组件转换为类组件

javascript - 在 Material 表中添加自定义添加按钮