1.fastClick在Typescript环境下的引入问题。
问题1: 在使用了ts的vue项目中,直接安装fastclick不能正常使用,根据提示得知需要加装一个第三方库的声明文件包。
解决方案:
//解决问题1:
npm install @types/fastclick -D / yarn add @types/fastclick -D
问题2:
fastClick.attach(document.body) 这条语句接着报错,
提示
Property 'attach' does not exist on type 'typeof fastclick'.
上网查别人的踩坑日记得到的答案是修改node_modules中的@types/fastclick/index.d.ts文件,这个方法有些欠妥当(因为我们每次从一个新的环境下拉下新的代码 node_modules的文件都会重新安装,那岂不是每次都要手动修改?)
解决方案:
//在项目目录下创建一个fastClick.d.ts 声明文件(不需要手动引入,TS编译的时候会自动检查目录下的所有声明文件)
declare module "fastclick" {
var fastClick: FastClickStatic;
export = fastclick;
}
到此,问题圆满解决。
2.Require statement not part of import statement.(@typescript-eslint/no-var-requires)。
当在 vue.config.js 中:
const path = require('path')
提示报错:
Require statement not part of import statement.(@typescript-eslint/no-var-requires)
解决办法:
.eslintrc.js中的 rules 属性新增以下内容:
rules: {
'@typescript-eslint/no-var-requires': 0
}