我写了一个需要Vuejs库v2的打字稿2.3 app.ts。 在html文件中手动添加Vuejs脚本src。 我只想用Vuejs进行类型检查! 我希望我只需要像这样引用:
///< reference path =“vue.d.ts”/>
但是无法从app.ts访问 Vue 类。
我试图直接导入模块:
从“./vue”输入*作为Vue;
这次我必须使用 new Vue.Vue({})来访问该类,但是VS 2017 build。 生成的app.js以 var Vue = require(“./ vue”); 开头。 但是在浏览器中,我遇到了一些错误:
对于require(),我添加< script src =“Scripts / require.js”>< / script> 但新错误:尚未加载上下文。
我尝试使用systemjs而不是require.js,我添加<脚本> System.import( '脚本/ app.js');< / script> 我得到404访问“Scripts / vue”(来自app.js的要求),其余的app.js没有被执行。
注意:我不使用tsconfig.json
我很惊讶因为在我的记忆中,jQuery的引用与typescript 0.9一起使用
我完全迷失了。帮我 !谢谢社区!
答案 0 :(得分:0)
我通常通过创建globals.d.ts
文件解决您遇到的问题,该文件负责设置我的代码所期望的全局环境。在你的情况下像:
import * as _Vue from "vue";
declare global {
const Vue: typeof _Vue;
}
这使得编译器在全局空间中看到Vue
符号,该符号与“vue”模块导出的符号相同。
使用上面的文件,这将编译:
const q = new Vue();
请注意,您必须使用tsconfig.json
。即使是空的也行。 (通过“空”,我的意思是一个只包含空JSON结构的文件:{}
。)或者您必须列出要编译的所有文件,包括命令行中的globals.d.ts
。