问题描述
我使用 create-react-app 创建了一个 React 应用程序,并且我使用的 css 较少。我的应用程序构建正确,但在 build/static 文件夹中没有加载任何较少的文件
我正在使用 customize-cra
和 react-app-rewired
来为更少的文件添加加载器。
config-overrides.js 文件
const {
override,addLessLoader
} = require('customize-cra');
const path = require('path');
module.exports = override(
addLessLoader({
paths: [path.resolve(__dirname,'src/')],javascriptEnabled: true,sourceMap: true,})
);
package.json 中的脚本
"scripts": {
"start": "react-app-rewired start","build": "react-app-rewired build","test": "react-app-rewired test --passWithNoTests","eject": "react-scripts eject","release": "CI=true react-app-rewired test --coverage && npm run build && npm run package && npm run posttest",},
依赖
"less": "^4.1.1","less-loader": "^8.0.0","react-scripts": "4.0.2","webpack": "4.44.2","customize-cra": "^1.0.0"
解决方法
我得到的错误是Module build failed (from ./node_modules/less-loader/dist/cjs.js): TypeError: this.getOptions is not a function
参考 this 帖子并将less-loader 的版本降低到 5.0.0 并开始工作