create-react-app引用antd-mobile问题总结

1. 使用create-react-app脚手架下载后, 安装antd-mobile, 按需加载依赖后, 启动报错

The "injectBabelPlugin" helper has been deprecated as of v2.0. You can use 
customize-cra plugins in replacement - https://github.com/arackaf/customize-cra#available-
pluginst - https://github.com/arackaf/customize-cra#available-plugins
  1. 操作流程:
    (1) 安装antd-mobile
    npm install antd-mobile --save
    (2) 实现组件的按需打包, 下载依赖
    npm install --save-dev babel-plugin-import react-app-rewired
    (3) 在根目录添加加载配置的 js 模块: config-overrides.js
const { injectBabelPlugin } = require('react-app-rewired');
module.exports = function override(config, env) {
  config = injectBabelPlugin(['import', {
    libraryName: 'antd-mobile', style: 'css'
  }], config);
  return config;
}
  1. 报错截图报错图片

  2. 原因
    babel-plugin-import 该依赖版本2.0以上破坏了injectBabelPlugin helper, 不能在使用

  3. 解决方法
    (1) 安装customize-cra依赖, 并安装less,less-loader
    npm 方法

npm install customize-cra --save-dev
npm i less
npm i -D less-loader

yarn 方法

yarn add customize-cra --dev
yarn add less
yarn add --dev less-loader

修改config-overrides.js

const { override, fixBabelImports, } = require('customize-cra');
module.exports = override(
  fixBabelImports("import", {
    libraryName: "antd", libraryDirectory: "es", style: 'less' // change importing css to less
  }),
)

(2) 修改react-app-rewired的版本

yarn add react-app-rewired@2.0.2-next.0

config-overrides.js不用修改

const { injectBabelPlugin } = require('react-app-rewired');
module.exports = function override(config, env) {
  config = injectBabelPlugin(['import', {
    libraryName: 'antd-mobile', style: 'css'
  }], config);
  return config;
}

重新启动就好了!!

antd-mobile自定义主题启动报错

  1. 问题: ValidationError: Invalid options object. Less Loader has been initialized using an options object that does not match the API schema.

  2. 原因: less版本为3.11.1, 不支持less-loader 6以上的版本

  3. 解决方法: 将less-loader版本改为5.0.0

    yarn: 
    	yarn remove less-loader
    	yarn add less-loader@5.0.0 --dev
    npm: 
    	npm unInstall less-loader
    	npm install less-loader@5.0.0 --save-dev
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值