create-react-app: 自定义webpack配置

发布于 12/10/2019·评论 0

在使用react开发的时候,一般是使用Create-react-app脚手架生成reactApp。当需要自定义webpack配置的时候,有以下几种方法:

  1. customize-cra,react-app-rewired
npm install customize-cra react-app-rewired -S
  • 首先安装插件
    +其次在根目录下新建config-overrides.js 文件
  • 配置config-overrides.js的文件内容
const { override, fixBabelImports, addLessLoader, addPostcssPlugins, overrideDevServer } = require('customize-cra')
const { resolve } = require('path')

// 打包配置
const addCustomize = () => config => {
  config.resolve.alias = {
    ...config.resolve.alias,
    '@': resolve(__dirname, './src')
  }
  if (process.env.NODE_ENV === 'production') {
    // 关闭sourceMap
    config.devtool = false;
    // 配置打包后的文件位置
    config.output.path = __dirname + '../dist/demo/';
    config.output.publicPath = './demo';
    // 添加js打包gzip配置
    config.plugins.push(
      new CompressionWebpackPlugin({
        test: /\.js$|\.css$/,
        threshold: 1024,
      }),
    )
  }
  return config;
}
// 跨域配置
const devServerConfig = () => config => {
  return {
    ...config,
    // 服务开启gzip
    compress: true,
    proxy: {
      '/api': {
        target: 'xxx',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/api',
        },
      }
    }
  }
}
module.exports = {
  webpack: override(
    fixBabelImports('import', {
      libraryName: 'antd-mobile',
      style: 'css',
    }),
    addLessLoader(),
    addCustomize(),
  ),
  devServer: overrideDevServer(
    devServerConfig()
  )
}

然后还需要下载一个react-app-rewired 包,将pakeage.json中的启动脚本文件,更换为react-app-rewired ***
参考链接如下:
REACTAPPREWIRED(create-react-app custom webpack config)

  1. eject
    在项目初始化之后,项目没有改动之前执行由create-react-app生成的脚本
yarn eject 
or
npm eject

会在根目录下生成一个config文件夹
image
剩下的就全部是webpack的内容啦, 官网链接:CREATEREACTAPP

更新时间:
stack-wuh 2019-12-26 13:14:00 更新
所属项目:
stack-wuh/blog
开源许可:
本文内容遵循 CC BY-NC-SA 4.0 协议,转载请注明文章出处与原文链接。
所属标签:
React

空空如也~

评论功能正在开发中,欢迎稍后回来留言交流。

logo
驿寄梅花, 鱼传尺素
Copyright©2024 Shadow.
你也想起舞吗
由next.js、mongodb和nest.js强力驱动
鄂ICP备20001814号-1
粤公网安备44030002001803号
等待播放
PLAYER
加载默认歌单...
等待播放
等待播放
00:0000:00
音量
歌词
暂无歌词
播放列表