【问题标题】:I can't import some Libraries in main.ts(TypeScript) in Vue3.js project我无法在 Vue3.js 项目的 main.ts(TypeScript) 中导入一些库
【发布时间】:2021-10-30 13:05:54
【问题描述】:

我需要在我的项目中使用国家标志,所以我决定使用vue-country-flag-next

所以我安装了它,当我想在我的main.ts 中导入它时,发生了这种情况:



所以我将鼠标悬停在它上面以查看错误,而 error 是: Cannot find module 'vue-country-flag-next' or its corresponding type declarations. ts(2307)
我在我的项目中导入了很多库,它们都很好,这是我第一次遇到这个错误,所以我决定使用其他 country flag 库并且错误再次发生,所以我发现肯定有问题文件类型(ts)并对此进行了搜索,但在这种情况下没有找到任何可以帮助我的东西。

到目前为止我所做的尝试:

  1. 检查了 .json 文件和 node_modules 中的所有依赖项,一切正常。
  2. 尝试通过在导入行末尾添加.vue文件来修复它(互联网上有人说添加.vue可以修复它,但它没有)

【问题讨论】:

    标签: typescript vue.js import vuejs3


    【解决方案1】:

    显示此错误是因为库未提供类型声明文件。为了摆脱错误,您必须为其创建一个类型声明文件。 在此处关注问题,https://github.com/P3trur0/vue-country-flag/issues/72

    或者您可以通过在导入行之前注释// @ts-ignore 来忽略它,组件应该可以正常工作。

    // @ts-ignore
    import CountryFlag from 'vue-country-flag-next
    

    【讨论】:

      【解决方案2】:

      嗯,这通常是因为您的库缺少类型声明文件 (.d.ts)。您可以创建一个文件,也可以通过 npm 安装它们。

      1. 在项目的根目录中手动创建decs.d.ts 文件
      declare module "vue-country-flag-next" 
      
      1. 通过 npm 安装它们

        $ npm install @types/libName

      2. 抑制警告

      // @ts-ignore
      import CountryFlag from 'vue-country-flag-next'
      

      P.S:我认为这个库还没有可用的类型声明。你必须检查一下。您可以尝试安装 this 库,因为它已经内置了类型声明。

      【讨论】:

        猜你喜欢
        • 2020-12-23
        • 1970-01-01
        • 2021-03-17
        • 2018-10-27
        • 2021-08-14
        • 1970-01-01
        • 1970-01-01
        • 2016-01-25
        • 1970-01-01
        相关资源
        最近更新 更多