加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react中执行yarn eject配置antd-mobile的按需加载

发布时间:2020-12-15 20:25:43 所属栏目:百科 来源:网络整理
导读:在使用react做项目时如果用antd-mobile,如果使用按需加载,则需要修改它的配置文件 如果我们不操作yarn eject,则直接操作下面的步骤即可: 在 create-react-app 搭建脚手架时 cnpm install -g create-react-app create-react-app reactDemo cd reactDemo c
在使用react做项目时如果用antd-mobile,如果使用按需加载,则需要修改它的配置文件 如果我们不操作yarn eject,则直接操作下面的步骤即可: 在 create-react-app 搭建脚手架时 cnpm install -g create-react-app create-react-app reactDemo cd reactDemo cnpm start
引入 antd-mobile
因为配置文件隐藏了,从而我们需要引入 react-app-rewired 并修改 package.json 里的启动配置

cnpm install react-app-rewired --save-dev
cnpm install babel-plugin-import --save-dev
或者
yarn add react-app-rewired --dev
yarn add babel-plugin-import --dev
/* package.json 的配置需要做如下修改*/
"scripts": {
-   "start": "react-scripts start",+   "start": "react-app-rewired start",-   "build": "react-scripts build",+   "build": "react-app-rewired build",-   "test": "react-scripts test --env=jsdom",+   "test": "react-app-rewired test --env=jsdom",}

然后在项目根目录创建一个 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;
};

此页面的引入方式更改为(index.js里面引入的总样式需要删掉)
- import Button from ‘antd-mobile/lib/button‘;
+ import { Button } from ‘antd-mobile‘;
如果执行yarn eject,需要配置的操作如下

1.用create-react-app创建完成项目后,执行yarn eject命令后会生成一个config文件,在config文件夹会
显示配置文档
2.添加插件
   yarn add babel-plugin-import --save-dev 
   yarn add antd --save-dev 
3.在congif文件夹下webpack.config.dev.js
  options: {
   +        plugins: [
   +             [‘import‘,[{ libraryName: "antd",style: ‘css‘ }]],+          ],// This is a feature of `babel-loader` for webpack (not Babel itself).
              // It enables caching results in ./node_modules/.cache/babel-loader/
              // directory for faster rebuilds.
              cacheDirectory: true,},4.在config文件下webpack.config.prod.js添加
     options: {
     +        plugins: [
     +             [‘import‘,+         ],compact: true,5.在页面引入antd
    import { Button } from ‘antd-mobile‘;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读