我正在尝试在我的Vue.js代码(v2.2.1)中进行类型检查。首先,我只想用TypeScript编译这一行(即,我希望识别Vue类):
var app = new Vue();
如果我用以下内容导入Vue,则编译:
import * as Vue from 'vue';
但是,它会生成require()
来电:
var Vue = require("vue");
我不使用模块,我只是在我的脚本之前从CDN引用Vue库。
我尝试将定义文件引用为:
/// <reference path="../node_modules/vue/types/index.d.ts" />
但Vue类无法识别(可能是因为它在定义文件中导出,因此应该导入?)。
我可以使用import
仅引用类型定义而不需要“库”吗?
答案 0 :(得分:6)
您可以编写自己的定义文件(例如 vue-global.d.ts ),其中Vue
将在全局命名空间中定义:
import _vue = require('vue');
declare global{
const Vue: typeof _vue;
}
不要忘记在tsconfig中包含此定义
答案 1 :(得分:0)
如果您使用的是libs官方的documentation。 下载所有文件。 在您的打字稿文件中添加参考:
/// <reference path="../path_to../app/TypeScript/_definitely_typed/Vue/2.6.10/index.d.ts" />
只需更改文件 vue.d.ts 。
注释行:
export const Vue: VueConstructor;
在之后添加:
declare global{
const Vue: VueConstructor;
}