直接说如何解决
修改 node_modules/antd-theme-generator/index.js
取消注释361行=> fileContent = `@import "${varPath}";\n${fileContent}`;
注释362行=> fileContent = `@import "~antd/lib/style/themes/default.less";\n@import "${varPath}";\n${fileContent}`;
前提:基于antd-theme-generator插件实现ant design项目的动态主题切换
报错原因:
既然报错说找不到 antd/lib/style/themes/default.less 文件,我们可以去全局搜索哪里使用了 antd/lib/style/themes/default.less。
我们可以看到在 ant-design-vue-pro\node_modules\antd-theme-webpack-plugin\node_modules\antd-theme-generator\index.js 文件的 362 行使用了。所以问题就定位到了这个文件,而这个文件所在的包是 antd-theme-generator,antd-theme-webpack-plugin 里面使用了 antd-theme-generator。
我们找到https://github.com/mzohaibqc/antd-theme-webpack-plugin/blob/master/package.json,可以看到依赖的是
1.2.8
我们查看其他版本的,比如:
1.2.3
,发现代码fileContent = @import "~antd/lib/style/themes/default.less";\n${fileContent};
注释掉了,所以断定是这个依赖的版本有问题。