config-overrides.js 810 B

1234567891011121314151617181920212223242526272829
  1. const path = require('path')
  2. const { override, addWebpackAlias, adjustStyleLoaders } = require('customize-cra')
  3. // 添加 @ 别名
  4. const webpackAlias = addWebpackAlias({
  5. '@': path.resolve(__dirname, 'src')
  6. })
  7. // 调整 sass-loader 配置,使用现代 API
  8. const fixSassDeprecation = adjustStyleLoaders(rule => {
  9. if (rule.test.toString().includes('scss')) {
  10. // 找到 sass-loader 并修改选项
  11. rule.use
  12. .filter(({ loader }) => loader === 'sass-loader')
  13. .forEach(loader => {
  14. loader.options = {
  15. ...loader.options,
  16. // 指定使用现代 API
  17. sassOptions: {
  18. ...loader.options?.sassOptions,
  19. api: 'modern'
  20. }
  21. }
  22. })
  23. }
  24. })
  25. // 导出组合配置
  26. module.exports = override(webpackAlias, fixSassDeprecation)