vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > 配置babel-plugin-import报错的坑

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

作者: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

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

您可能感兴趣的文章:
阅读全文