creat-react-app相关

2020-04-02  本文已影响0人  liuxinya

customize-cra

const { override, fixBabelImports, addLessLoader, useBabelRc } = require('customize-cra');
const rewireReactHotLoader = require('react-app-rewire-hot-loader');

const addCustomize = () => (config, env) => {
    config.output.publicPath = process.env.NODE_ENV === 'production' ? '' : '/';
    config = rewireReactHotLoader(config, env); // 热更新
    return config;

}

require('./color.js')

module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,
    }),
    addLessLoader({
        javascriptEnabled: true,
        modifyVars: { '@primary-color': '#1DA57A' },
    }),
    addCustomize(),  // 自行配置
    useBabelRc()  // 开启 .babelrc
);

create-react-app 支持 reflect-matadata

{
    "plugins": [
      "babel-plugin-transform-typescript-metadata",
      ["@babel/plugin-proposal-decorators", { "legacy": true }],
      ["@babel/plugin-proposal-class-properties", { "loose": true }]
    ],
    "presets": [
      "@babel/preset-typescript"
    ]
}

线上环境 组件的 displayName 消失了

__解决__

babel增加以下配置
https://www.npmjs.com/package/babel-plugin-add-react-displayname

线上二级路由出现空白页

上一篇下一篇

猜你喜欢

热点阅读