美文网首页
create-react-app覆盖修改默认webpack配置

create-react-app覆盖修改默认webpack配置

作者: 骨朵a | 来源:发表于2019-11-26 17:35 被阅读0次

    create-react-app覆盖修改默认webpack配置

    • 前言

    CRA即create-react-app已经有一套完善的webpack配置,但是在有些情况下我们需要修改下webpack默认配置,如修改outputPath、sourcemap方案等,但由于 eject是不可逆的,所以我选择其他方案 ,也是antDesign所用到的react-app-rewired.

    • 安装

    npm i react-app-rewired customize-cra babel-plugin-import

    customize-cra用来获得一组 CRA 2.0兼容的 rewirers
    babel-plugin-import是一个用于按需加载组件代码和样式的 babel 插件

    • 书写配置

    在项目根目录创建一个 config-overrides.js 用于修改默认配置

    // 修改webpack默认配置,目的:按需引入antdesign
    // 、、customize-cra包含很多api
     const { override, fixBabelImports } = require('customize-cra');
    
     const rewiredMap = () => config => {
       // config为所有的webpack配置
       
       config.devtool = config.mode === 'development' ? 'cheap-module-source-map' : false  // 生产环境关闭sourcemap关闭
       return config
     }
    
    
     module.exports = override(
       fixBabelImports('import', {
         libraryName: 'antd',
         libraryDirectory: 'es',
         style: 'css',
       }),
       rewiredMap()
     );
    

    文中代码为配置了按需引入andesign及修改soucemap方案, 既可以使用customize-cra提供的各种api来修改配置,也可以手动写方法如文中的rewiredMap来修改默认配置(rewiredMap内config参数为webpack默认配置,一般覆盖即可)。

    customize-cra github地址https://github.com/timarney/react-app-rewired/blob/master/README_zh.md
    react-app-rewired github地址https://github.com/timarney/react-app-rewired/blob/master/README_zh.md

    如果这篇文章帮到了您,点个赞呗🐾🐾🐾🐾🐾🐾🐾🐾🐾🐾🐾🐾🐾
    转发请注明出处

    相关文章

      网友评论

          本文标题:create-react-app覆盖修改默认webpack配置

          本文链接:https://www.haomeiwen.com/subject/twlywctx.html