Vue使用ts typescript,使用Jquery报错 , $ 不认识的解决办法

1,062 阅读1分钟

vue-cli 3.0 脚手架搭建的 vue项目,使用 typescript编写。期间遇见了不少坑。 由于项目需要用到第三方密码键盘插件和加密插件,须在index.html 页面顶部 引入jquery JS.

当组件使用 ('#div').click() 方法的时,ts 编译器提示 一个错误,错误如下:
Cannot find name ''. Do you need to install type definitions for jQuery? Try npm i @types/jquery. 1 2 3 报错
但是我们已经在首页引入了,不需要再次cnpm 安装了。
这时候我们需要在 src 目录下 shims-tsx.d.ts 文件中声明一下,使用 declare 声明一下。或者在使用Jquery语法的组件里 declare var: any; 声明一下 $ 为外部的变量,这样 ts 解析器就能正常编译 ts文件了。 方式一:

declare global { var $: any; .... } 1 2 3 4 方式二:(建议)