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`.

$报错
但是我们已经在首页引入了,不需要再次cnpm 安装了。
这时候我们需要在 src 目录下 shims-tsx.d.ts 文件中声明一下,使用 declare
声明一下。或者在使用Jquery语法的组件里 declare var $: any; 声明一下 $ 为外部的变量,这样 ts 解析器就能正常编译 ts文件了。
方式一:

declare global {
	var $: any;
	....
}

方式二:(建议)

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

相关 tsx 模块注入

Logo

前往低代码交流专区

更多推荐