react16.8 antd按需加载配置(已经弹出和未弹出分别的配置)

误区,antd按需加载同样是需要先安装antd,只是通过插件的配置实现不用再进行样式的引入,可以直接引用antd组件进行开发

怎样判断按需加载配置成功?通过组件引用的判断,在不引入antd样式的前提下,直接引入,使用组件,看组件样式是否有效,如果生效则按需加载配置成功

完成的配置流程

安装antd

npm i antd --save

安装babel-plugin-import插件

npm -s install babel-plugin-import

配置webpack,因为现在的时候,我的webpack是很高级的版本,即是在配置弹出后,没有单独的webpack.dev.js和webpack.prod.js的配置文件,而现在只有一个webpack配置文件

在webpack里面找到babel-loader,因为babel-plugin-import是通过babel的

[
   require.resolve(‘babel-plugin-import‘),// 导入 import 插件
   {
      libraryName: ‘antd‘,   //暴露antd
      style: ‘css‘
   }
],

配置好之后测试

运行项目看效果

当项目在没有进行弹出的时候,是没有办法看到webpack的配置的,所以这种时候,就需要在另一种情况下进行按需加载的配置

安装插件

npm -s install babel-plugin-import

在根目录下创建一个文件config-overrides.js文件,config-overrides.js,添加文件内容如下

const { override, fixBabelImports } = require(‘customize-cra‘);
 module.exports = override(
   fixBabelImports(‘import‘, {
     libraryName: ‘antd‘,
     libraryDirectory: ‘es‘,
     style: ‘css‘,
   }),
);

注释掉原本的样式引入

原文地址:https://www.cnblogs.com/LO-ME/p/10803562.html

时间: 2024-10-12 20:15:42

react16.8 antd按需加载配置(已经弹出和未弹出分别的配置)的相关文章

react+mobx+antd按需加载 出现Support for the experimental syntax 'decorators-legacy' isn't currently enabled

baidu上面的说法大多是在 项目的package.json 中添加decorators-legacy 因为引入了antd的按需加载 所以只需要在config-overrides.js中添加addDecoratorsLegacy() const { override, fixBabelImports,addDecoratorsLegacy } = require('customize-cra'); module.exports = override( fixBabelImports('impor

antd按需加载

我目前使用的antd版本是2.13.现在最新的是3.0.1. 脚手架工具就是create-react-app.创建完成项目后,需添加配置,执行yarn eject 也就是打开配置的文档. 然后安装第三方依赖yarn add babel-plugin-import --save-dev 找到config文件夹.里面有2个配置文档, webpack.config.dev.js和webpack.config.prod.js 添加配置时一定要保持文档的一致性.我就是犯了错误,值配置了开发的没有配置正式文

React引入AntD按需加载报错

背景:React使用create-react-app脚手架创建,然后yarn run eject暴露了配置之后修改less配置, 需求:实现antd组件按需加载与修改主题. 一开始是按照webpack.config.dev.js文件中的配置进行less的配置. 可以看到脚手架创建的config文件为加载loader写了一个公共方法,不是以前的webpack配置,所以仿照他的方式进行配置less文件. 直接复制css的配置,修改成less的配置,然后yarn start重启项目. 此时可以加载le

react中使用antd按需加载(第一部)

什么是react按需加载?简单来说就是当我们引用antd的时候需要引入全局css样式,这会对性能造成一定的影响,那么使用按需加载以后就不需要引入css全局样式了,直接引入功能模块即可,既然需要设置按需加载就要对webpack文件进行修改,需要我们执行npm run eject命令来展开项目的隐藏文件,如果只是简单的修改,我们可以使用react-app-rewired定义全局变量,react-app-rewired的作用就是在不eject的情况下,覆盖create-react-app的配置.具体如

webpack antd 按需加载

安装babel-plugin-import插件.下面方法二选一,都可以实现antd的按需加载. 一.配置webpack.config.js文件 { test: /.jsx?$/, exclude: /(node_modules|bower_components)/, use: [{ loader: 'babel-loader' }], options: { "plugins": [ [ "import", { "libraryName": &qu

在dva框架和create-react-app创建出来的框架中修饰器语法与按需加载引入antd分别配置

按需加载需要的包  babel-plugin-import    装饰器语法需要的包  @babel/plugin-proposal-decorators dva框架 将.webpackrc  改成.webpackrc.js然后具体配置 const config = {}; config.proxy = { "/api": { "target": "http://localhost:7001", "changeOrigin":

webpack css模块化和ant-design按需加载冲突

其实具体出现了什么问题,我也记得不清楚了,今天突然回想起来必须记录一下,一个思想就是用exclude将node_module目录下的文件排除,网上有很多相关例子,但不知是不是因为时间久远,都不生效,无奈,又只好啃回官方文档,我的解决方式如下 webpack正常打包的话,所有的css都会被打包在一起,造成css的全局污染,我们可以采用模块化的方式,其实就是借用hash改变类或id名 webpack.config.js module: { rules: [ { test: /\.(js|jsx)$/

react执行yarn eject后配置antd的按需加载

第一步: 用create-react-app创建完成项目后,执行yarn eject .在config文件夹会显示配置文档 第二步: 添加插件yarn add babel-plugin-import --save-dev  yarn add antd --save-dev 第三步:在congif文件夹下webpack.config.dev.js第147行添加代码 options: { + plugins: [ + ['import', [{ libraryName: "antd", s

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

在使用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 并修改 pack