更新于 

TypeScript

tsconfig.json

import第三方库时报错:不存在指定文件

参考博客

在threejs + ts的项目中,使用three/examples/jsm/下的文件,

编译器报错,报错信息如下:

一般这种情况都是没有安装第三方@type库,但是这回我安装了@types/three,
但是编译器就是找不到这个文件,
因此需要手动在tsconfig.json文件中配置一下,手动指定类型解释文件的位置

1
2
3
4
5
6
7
{
"compilerOptions": {
"paths": {
"three/examples/jsm/postprocessing/EffectComposer": ["./node_modules/@types/three/examples/jsm/postprocessing/EffectComposer"]
}
}
}

ts报错: 不允许使用其它参数承接this

报错信息
1
Unexpected aliasing of ‘this’ to local variable.(@typescript-eslint/no-this-alias)
解决方法

参考博客
修改eslintrc.json的配置

1
2
3
4
5
6
{
"rules": {
"@typescript-eslint/no-this-alias": ["off"]
}
}

其它

ts项目热更新失败

问题描述

在vue+ts的项目中,对ts文件进行修改,浏览器端运行无效,
查看浏览器source中ts文件源码,发现代码确实已经被修改过,
但运行的结果全是修改前的结果。

解决方法

遇到这种问题,无论是清浏览器缓存,还是换浏览器都是没用的,
因为问题不出在浏览器端,而是服务端
ts没有重新生成js,
浏览器运行的始终是修改前的ts生成的js代码,
而且webstorm项目的目录还自动屏蔽了ts生成的js文件,
所以需要手动删除并重新生成编译后的js文件:

也可以直接通过命令的方式(src目录下),
删除生成的*.js和*.js.map文件:

1
git rm -r *.js *.js.map

参考博客