Vue + TypeScript 使用别名时提示模块找不到

使用bash vue created xxx创建的vue项目,默认情况下已经做好了别名配置。但是当引入图片资源时仍然会提示错误

can not find module '@/assets/logo.png'

需要处理的地方有两处:

  • 手动添加 .png模块声明,shims-vue.d.ts文件添加declare module '*.png'
  • shims-vue.d.ts文件的import Vue from 'vue'需要放在declare module '*.vue'声明内部

shims-vue.d.ts

declare module '*.vue' {
  import Vue from 'vue';
  export default Vue;
}
declare module '*.jpg';
declare module '*.png';

具体原因未知,猜测可能是下边这种写法是错误的,进而导致接下来的declare module xxx没有生效

import Vue from 'vue';
declare module '*.vue' {
  export default Vue;
}
declare module '*.png';
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本使用 在vuex中使用 注: typescript目前对vuex的支持还不完善,需要引入 vuex-class...
    有田春雪阅读 3,247评论 0 2
  • 当使用第三方库时,我们需要引用它的声明文件,才能获得对应的代码补全、接口提示等功能。这是因为前端第三方库大多都是非...
    CondorHero阅读 4,941评论 1 5
  • 点击原文 now我们来看一看TS怎么声明文件, 在JS里面我们经常会使用各种第三方类库,引入方式也不太相同,常见的...
    videring阅读 3,145评论 0 4
  • 最近项目重构,准备将所有固件升级,顺便引进TS来对项目的规范和代码提示的优化进行提升。之前写React项目的时候对...
    dgadmin阅读 29,830评论 34 16
  • 为TypeScript引用的JS写声明文件 写TypeScript声明文件的时候会有三个困惑,一个是声明文件是什么...
    心淡然如水阅读 25,278评论 1 2