当前位置:   article > 正文

Vue使用ts typescript,使用Jquery报错 , $ 不认识的解决办法_cannot find name '$'. do you need to install type

cannot find name '$'. do you need to install type definitions for jquery? tr

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

<script src="./jquery-2.1.4.js"></script>
当组件使用 $('#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

方式二:(建议)

<script lang="tsx" type="text/tsx">
	import { Vue } from 'vue-property-decorator';
	declare  var $: any;
	export default class AddCardNum extends Vue { }
</script>
  • 1
  • 2
  • 3
  • 4
  • 5

相关 tsx 模块注入

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/360085
推荐阅读
相关标签
  

闽ICP备14008679号