VueJS/Typescript 错误:找不到模块“我的模块”或其相应的类型声明

Posted

技术标签:

【中文标题】VueJS/Typescript 错误:找不到模块“我的模块”或其相应的类型声明【英文标题】:VueJS/Typescript error: Cannot find module 'my-module' or its corresponding type declarations 【发布时间】:2021-04-17 18:04:23 【问题描述】:

我有一个带有 Nuxt 和 Typescript 的 Vue2 设置。我正在尝试使用 yarn 安装 vue-slick-carousel 模块,但 Typescript 给了我错误:“找不到模块 'vue-slick-carousel' 或其相应的类型声明”。打字稿新手在这里! 当我尝试在组件中导入模块时会出现此问题:

<script lang="ts">
  import Vue from 'vue'
  import  VueSlickCarousel  from 'vue-slick-carousel'
 
  export default Vue.extend(
     components: 
       VueSlickCarousel
     
     ...
  )
</script>

tsconfig.json 文件内容:



"compilerOptions": 
    "target": "ES2018",
    "module": "ESNext",
    "moduleResolution": "Node",
    "lib": [
      "ESNext",
      "ESNext.AsyncIterable",
      "DOM"
    ],
    "esModuleInterop": true,
    "allowJs": true,
    "sourceMap": true,
    "strict": true,
    "noEmit": true,
    "experimentalDecorators": true,
    "baseUrl": ".",
    "paths": 
      "~/*": [
        "./*"
      ],
      "@/*": [
        "./*"
      ]
    ,
    "types": [
      "@types/node",
      "@nuxt/types",
      "nuxt-i18n"
    ]
  ,
  "exclude": [
    "node_modules",
    ".nuxt",
    "dist"
  ]

还有我的 vue-shim.d.ts 文件,不知道要添加什么:

import Vue from 'vue'
declare module 'vue/types/vue' 
  interface Vue 
    $i18n: 
      locale:string,
      locales:code:string, name:string, file:string[]
    
  

我知道问题来自 Typescript 无法找到模块类型。我找到了一个名为“@types/slick-carousel”的库来安装这些类型,但我不确定下一步该做什么。 我需要手动定义类型吗?

【问题讨论】:

【参考方案1】:

tsconfig.json 中添加@types/slick-carousel 到类型:

  "types": [
      "@types/node",
      "@nuxt/types",
      "nuxt-i18n",
      "@types/slick-carousel"
    ]

【讨论】:

谢谢!虽然仍然得到同样的错误。它来自这个导入: import VueSlickCarousel from 'vue-slick-carousel'。找不到“vue-slick-carousel” 你的项目中有vue-shim.d.ts文件吗? 我愿意!将其添加到上面的帖子中。有什么需要补充的吗? 你关注这个typescript.nuxtjs.org/guide/setup了吗?

以上是关于VueJS/Typescript 错误:找不到模块“我的模块”或其相应的类型声明的主要内容,如果未能解决你的问题,请参考以下文章

无法启动 Terminal Services 服务。错误 126: 找不到指定的模块。

错误找不到模块'@angular/material

Phonegap 错误 + 错误:找不到模块 'q'

解析错误:找不到模块'next/babel'

找不到模块:错误:无法解析模块“fs”

TypeOrm 迁移 - 错误:找不到模块