本文介绍了shims.tsx.d.ts 文件在 Vue-Typescript 项目中有什么作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用 typescript 创建 Vue 项目时,包含两个声明文件:shims-vue.d.ts 和 shims.tsx.d.ts.
When creating a Vue project with typescript, two declaration files are included: shims-vue.d.ts and shims.tsx.d.ts.
//shims-vue.d.ts
declare module "*.vue" {
import Vue from 'vue';
export default Vue;
}
还有:
//shims.tsx.d.ts
import Vue, { VNode } from 'vue';
declare global {
namespace JSX {
// tslint:disable no-empty-interface
interface Element extends VNode {}
// tslint:disable no-empty-interface
interface ElementClass extends Vue {}
interface IntrinsicElements {
[elem: string]: any;
}
}
}
在创建一个小项目(没有 Vue CLI)时,我忘记包含第二个 (shims.tsx.d.ts),我的项目按预期编译和运行(没有错误).
我发现了这篇关于它的帖子:https://github.com/vuejs/vue-cli/issues/1198,但希望得到更多说明.
我只是好奇这个文件的作用以及为什么包含它?换句话说,如果我不包含这个声明文件,我将不得不做些什么来破坏"我的应用程序.
谢谢!
推荐答案
第一个文件可帮助您的IDE了解以.vue结尾的文件是什么
第二个文件允许您使用.tsx 文件,同时在您的 IDE 中启用jsx语法支持来编写 JSX 样式的打字稿代码.
这篇关于shims-tsx.d.ts 文件在 Vue-Typescript 项目中有什么作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!