【问题标题】:Vue / Typescript: Cannot find module 'vue-simplemde'Vue / Typescript:找不到模块'vue-simplemde'
【发布时间】:2020-09-27 01:32:09
【问题描述】:

我可以毫无问题地导入 大多数 npm 模块,例如 axios、firebase 等,但由于某种原因 import MDE from 'vue-simplemde' 抛出错误:

Cannot find module 'vue-simplemde'.Vetur(2307)

代码:

<script lang="ts">
   import Vue from 'vue'
   import firebase from 'firebase/app' // Works!
   import MDE from 'vue-simplemde' // Cannot find module 'vue-simplemde'.Vetur(2307)
   import axios from 'axios' // Works!

   export default Vue.extend({
       [...]
   })
</script>

package.json:

[...]
"dependencies": {
    [...]
    "firebase": "^7.14.4",
    "vue-simplemde": "^1.0.6",
    [...]
  },
[...]

编译代码后编辑器确实可以工作,但错误仍然存​​在。 我可以忽略 // @ts-ignore 的错误,但这个问题会在整个 Vue 组件的其余部分产生类型检查问题,引发 Property XX does not exist on type CombinedVueInstance... 错误。注释掉这个导入可以解决这些问题。

我可以让这个包与 typescript 兼容吗?
我可以在某处以某种方式声明一个模块吗?

【问题讨论】:

    标签: typescript vue.js import node-modules


    【解决方案1】:

    是的,您可以为此声明一个模块。

    我假设您的 src 目录中已经有一个“shims-vue.d.ts”文件。如果没有,请创建一个

    // shims-vue.d.ts
    declare module "*.vue" {
      import Vue from "vue";
      export default Vue;
    }
    
    declare module "vue-simplemde" {
      const mde: any;
      export default mde;
    }
    
    

    【讨论】:

      猜你喜欢
      • 2020-03-23
      • 2022-10-16
      • 2020-01-29
      • 2018-01-28
      • 2019-05-28
      • 2019-06-12
      • 2018-04-23
      • 2021-11-13
      • 1970-01-01
      相关资源
      最近更新 更多