typescript - Vue / Typescript:找不到模块'vue-simplemde'
问题描述
我可以毫无问题地导入大多数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>
包.json:
[...]
"dependencies": {
[...]
"firebase": "^7.14.4",
"vue-simplemde": "^1.0.6",
[...]
},
[...]
编译代码后编辑器确实可以工作,但错误仍然存在。我可以忽略这个错误// @ts-ignore
,但是这个问题会在整个 Vue 组件的其余部分中产生类型检查问题,从而引发Property XX does not exist on type CombinedVueInstance...
错误。注释掉这个导入可以解决这些问题。
我可以使这个包与打字稿兼容吗?
我可以在某处以某种方式声明一个模块吗?
解决方案
是的,您可以为此声明一个模块。
我假设您的目录中已经有一个“shims-vue.d.ts”文件src
。如果没有,创建一个
// shims-vue.d.ts
declare module "*.vue" {
import Vue from "vue";
export default Vue;
}
declare module "vue-simplemde" {
const mde: any;
export default mde;
}
推荐阅读
- c++ - 衰减为指针和 noexcept 规范的 Lambda
- android - SQLite 更新错误:没有这样的列:COLUMN_CHECKBOX(代码 1):,同时编译:更新
- python - 在 ruamel.yaml 迭代期间获取评论
- vba - 移动文件的 Shell 返回无效的过程调用或参数
- database - 部署后瘦客户端显示数据库错误
- regex - 如何在 XSD 中需要更多的空白内容?
- angular - switchMap 无法读取未定义的值
- java - 碰撞检测似乎不起作用
- python - 追加数组时Python中的分段错误
- github - 有人能告诉我为什么我的 github.io 没有更新吗?