关于配置babel-plugin-import报错的坑及解决

 更新时间:2022年12月01日 15:22:34   作者:wangyile4399  
这篇文章主要介绍了关于配置babel-plugin-import报错的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

配置babel-plugin-import报错的坑

用的是antd design vue生成的项目,按着官网的提示一步一步下来,在配置babel-plugin-import时候发生了报错,一直找了很久没有解决问题

问题

项目可以正常运行,当配置babel-plugin-import时的问题

引入可以正常运行

import Button from “ant-design-vue/lib/button”;
import “ant-design-vue/dist/antd.css”;

改成 import { Button } from ‘ant-design-vue’ 时就报错了,所以肯定是配置的问题

报错内容

./node_modules/antd/lib/button/style/index.less (./node_modules/css-loader??ref–6-oneOf-3-1!./node_modules/postcss-loader/src??postcss!./node_modules/less-loader/dist/cjs.js!./node_modules/antd/lib/button/style/index.less)

// https://github.com/ant-design/ant-motion/issues/44
.bezierEasingMixin();

一直以为是less和less-loader的问题,反反复复弄了好久没有办法。

后来发现是配置的问题,被官网坑了

因为用的是vue3.x,所以用了下面的配置方案,style设置为true,所以就发生了报错

错误原因

style设置为true就会报错

解决方案

style设置为“css”

所以我把style设置了上面的css,然后就好了,真的太相信官网的了以为都是没有错的,没想到坑了我8个小时。

babel-plugin-import配置babel按需引入antd模块报错.bezierEasingMixin()

安装yarn add babel-plugin-import

实现按需加载组件代码和样式的babel插件

下载babel-plugin-import插件,然后在webpack.config.dev.js中的plugins添加配置

{
            test: /\.(js|mjs|jsx|ts|tsx)$/,
            include: paths.appSrc,
            loader: require.resolve('babel-loader'),
            options: {
              customize: require.resolve(
                'babel-preset-react-app/webpack-overrides'
              ),
              
              plugins: [
                [
                  require.resolve('babel-plugin-named-asset-import'),
                  {
                    loaderMap: {
                      svg: {
                        ReactComponent: '@svgr/webpack?-prettier,-svgo![path]',
                      },
                    },
                  },
                ],
                ['import',{libraryName:'antd',style:true}],
              ],
              // 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,
              // Don't waste time on Gzipping the cache
              cacheCompression: false,
            },
          },

重启项目后报错:

打开项目package.json发现less版本是^3.0.4

解决方案

将less版本降到3.0以下 比如安装 2.7.3版本。

两种方式:

1.yarn add less@^2.7.3  

2.打开项目的package.json 找到dependencies下面的less 将其版本改为  "2.7.3"   然后 yarn install

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解如何使用 vue-cli 开发多页应用

    详解如何使用 vue-cli 开发多页应用

    本篇文章主要介绍了详解如何使用 vue-cli 开发多页应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • vue3之向echarts组件传值的问题分析

    vue3之向echarts组件传值的问题分析

    这篇文章主要介绍了vue3之向echarts组件传值的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue中使用Printjs插件实现打印功能

    Vue中使用Printjs插件实现打印功能

    Print.js 主要是为了帮助我们直接在我们的应用程序中打印 PDF 文件,无需离开界面,也无需使用嵌入,这篇文章主要介绍了Vue中使用Printjs插件实现打印功能,需要的朋友可以参考下
    2022-08-08
  • uniapp模仿微信实现聊天界面的示例代码

    uniapp模仿微信实现聊天界面的示例代码

    这篇文章主要介绍了如何利用uniapp模仿微信,实现一个聊天界面。文中的示例代码讲解详细,对我们学习Vue有一定的帮助,感兴趣的可以了解一下
    2022-01-01
  • 解决项目vite1.0升级到2.0打包遇到Some chunks are larger问题

    解决项目vite1.0升级到2.0打包遇到Some chunks are larger问题

    本文主要介绍了解决项目vite1.0升级到2.0打包遇到Some chunks are larger问题,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue倒计时刷新页面不会从头开始的解决方法

    vue倒计时刷新页面不会从头开始的解决方法

    在本篇文章里小编给大家整理的是关于vue倒计时刷新页面不会从头开始的解决方法,需要的朋友们参考下。
    2020-03-03
  • Vue包大小优化的实现(从1.72M到94K)

    Vue包大小优化的实现(从1.72M到94K)

    这篇文章主要介绍了Vue包大小优化的实现(从1.72M到94K),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Vue3在css中使用js变量及其原理解读

    Vue3在css中使用js变量及其原理解读

    这篇文章主要介绍了Vue3在css中使用js变量及其原理解读,结合实例代码介绍了vue3中css使用script中定义的变量的方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Vue reactive函数实现流程详解

    Vue reactive函数实现流程详解

    一个基本类型的数据,想要变成响应式数据,那么需要通过ref函数包裹,而如果是一个对象的话,那么需要使用reactive函数,这篇文章主要介绍了Vue reactive函数
    2023-01-01
  • vue+element-ui实现主题切换功能

    vue+element-ui实现主题切换功能

    这篇文章主要介绍了vue+element-ui实现主题切换功能,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论