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>
|
请发表评论