起初以为是craco的less配置错误了,后来一看错误是ts的,因为我是create-react-app + typescript + craco,不过这个错误只和typescript有关系,ts不认识less文件。
解决办法,全局声明文件react-app-env.d.ts
添加
/// <reference types="react-scripts" />
declare module "*.less" {
const content: { [className: string]: string };
export default content;
}
关于react-app-env.d.ts
:react-app-env.d.ts的作用以及如何生成的?
多说两句,像webpack、craco的less-loader是为了把less文件转为css文件好编译,这种把文件当成模块引入的一般是ts的活