前几天日常开发的时候,由于淘宝的镜像地址过期了,所以本地在npmrc文件更新了正确的地址,没想到发布的时候,服务器报错:JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists... 这个报错是由于在开发的时候,部分html内的定义参数(如scope)没有定义类型,但是很奇怪的是本地的tslint检测并没有什么问题,经过一番研究后发现(大佬指点),可能是由于更新了镜像地址,在发布的时候拉取了新的ts包,而ts5以后开始强制校验html定义参数是否有类型。本地包由于有缓存所以本地没有问题。。。。
解决方法是手动生成一个shims-tsx.d.ts文件,并且在里面配置如下代码
declare namespace JSX {
interface IntrinsicElements {
[elem: string]: any;
}
}
最后通过在tsconfig里面配置,如图:
即可解决报错问题😊,如有错误,欢迎大佬指正。。。