create-react-app 配置 craco 支持 ant design 、less 和 css module

以下配置支持 ant design 、less、css module 和接口代理

const path = require('path')
const resolve = (dir) => path.join(__dirname, '.', dir)
const CracoAntDesignPlugin = require('craco-antd')

module.exports = {
  babel: {
    plugins: [['@babel/plugin-proposal-decorators', { legacy: true }]],
  },
  plugins: [
    {
      plugin: CracoAntDesignPlugin,
      options: {
        lessLoaderOptions: {
          lessOptions: {
            javascriptEnabled: true,
            sourceMap: false,
          },
        },
        cssLoaderOptions: {
          modules: {
            localIdentName: '[local]_[hash:base64:5]',
            // 回调必须返回 `local`,`global`,或者 `pure`
            mode: (resourcePath) => {
              if (/pure\.(less|css)$/i.test(resourcePath)) {
                return 'pure'
              }

              if (/(global)\.(less|css)$/i.test(resourcePath)) {
                return 'global'
              }

              if (/antd/i.test(resourcePath)) {
                return 'global'
              }

              return 'local'
            },
          },
        },
        babelPluginImportOptions: {
          libraryName: 'antd',
          libraryDirectory: 'es',
          style: true,
        },
      },
    },
  ],
  webpack: {
    alias: {
      '@': resolve('src'),
    },
  },
  devServer: (devServerConfig, { proxy }) => {
    devServerConfig.proxy = {
      ...proxy,
      '/api': {
      	// 访问 localhost:3000/api/* 相当于访问 localhost:3001/api/*
        target: 'localhost:3001',
        changeOrigin: true,
      },
    }
    return devServerConfig
  },
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值