使用typescript创建Vue项目时,包含两个声明文件:
SimsVue.D.TS
和
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;
}
}
}
在创建一个小项目(没有Vuecli)时,我忘记了包含第二个项目(垫片.tsx.d.ts),而我的项目按预期编译和运行(没有错误)。
我找到了关于它的帖子:
https://github.com/vuejs/vue-cli/issues/1198
但希望能得到更多的澄清。
我只是好奇这个文件是做什么的,为什么包括它?换句话说,如果我不包含这个声明文件,我将不得不做些什么来“破坏”我的应用程序。
谢谢!