vue-cli4.0下antd(ant-design-vue)按需引入(附带完整过程)

2023-11-13

ant-design-vue 踩坑记录

官网没给vue-cli4的例子,于是试试按照官网vue-cli3的步骤操作,遇到了一些问题,这里记录下,后文给了完整过程,我亲自重新跑过一遍,应该是没有问题的。

  • 坑1.
    Failed to resolve loader: less-loader
    You may need to install it.
  • 坑2.
    error in …/node_modules/_ant-design-vue@1.6.5@ant-design-vue/es/button/style/index.less
    Module build failed (from ./node_modules/less-loader/dist/cjs.js):
    // https://github.com/ant-design/ant-motion/issues/44
    .bezierEasingMixin();

vue-cli4/antd 配置按需加载

1.创建项目

安装vue-cli(我现在装的是4.3)

$ npm install -g @vue/cli

创建项目, 配置可自选,这里我直接回车默认

$ vue create antd-demo

运行,访问 http://localhost:8080/ ,可以看到 Welcome to Your Vue.js App

$ cd antd-demo
$ npm run serve
2.引入 ant-design-vue
$ npm install ant-design-vue

在main.js中引入Button组件

import Vue from 'vue'
import { Button } from 'ant-design-vue'; //引入组件,但不用引入样式
import App from './App.vue'

Vue.component(Button.name, Button); //注册
Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')


在app.vue里调用Button组件

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
      <a-button type="primary">Button</a-button>
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>
3.安装babel-plugin-import插件实现按需引入
$ npm install babel-plugin-import --dev

将配置文件babel.config.js的内容替换为如下

module.exports = {
  presets: ["@vue/app"],
  plugins: [
    [
      "import",
      { libraryName: "ant-design-vue", libraryDirectory: "es", style: true }
    ]
  ]
};

运行

$ npm run serve

报错如下,需要安装less-loader

在这里插入图片描述

运行

$ npm install less-loader --save-dev

然后,它继续报错。还要安装less

运行

$ npm install less --save-dev

看样子是less包本身有问题了,它提示给了个Github的issues地址,访问看看

哇噻,好多大佬遇到了这个问题,翻下去发现各路神仙给了好多解决办法。看了十几个高赞的,大体都是两种办法来解决。

方法一:less降级

但有一些工具是要求用less3.x的(印象中新版webpack就是这样)。算了

方法二less-loader配置里开启允许javascript

这个方法看起来好点,我用的vue-cli4,需要手动在根目录下创建配置文件vue.config.js,在issues评论里找到对应vue-cli4的配置填入。

module.exports = {
  css: {
      loaderOptions: {
          less: {
            lessOptions:{
              javascriptEnabled: true,
            }
          }
      }
  },
}

ps: 如果没能成功的话,可以试试更多其他版本的配置,详情见https://github.com/ant-design/ant-motion/issues/44,本文评论区也有网友给出了其他可用的配置格式

重新运行,Nice~,按需引入完成。

浏览器访问

在这里插入图片描述


期间还遇到一个小问题,就是import引入时的组件名与实例的标签名并不一致,例如Button组件对应的标签名是AButton如图


附上目前所有组件的列表

以上仅是引入一个简单的Button组件,如果要引入官方文档上的Layout示例,那又得踩不少坑,具体见vue-cli4.0引入官方文档中的Layout示例

tip: 如果本篇对你有所帮助,不妨点个赞支持一下~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue-cli4.0下antd(ant-design-vue)按需引入(附带完整过程) 的相关文章

  • c/c++多线程编程(1):线程的创建

    参考资料 多线程和线程同步 C C 运行环境 wsl2 Ubuntu 20 04 vscode clangd xmake gcc9 4 0 1 创建线程 1 1 线程函数 每个线程都有一个属于自己的线程id id的类型为phtread t
  • 解决centos 8命令ip add无效问题

    之前用Xshell连接虚拟机一直正常 突然一台节点总是连不上 查询众多资料后 终于找到了问题所在 出错情况 输入命令 root node01 service NetworkManager start root node01 nmcli ne

随机推荐

  • 图腾柱电路工作原理

    图腾柱就是上下各一个晶体管 上管为NPN c极接正电源 下管为PNP e极接负电源 注意 是负电源 是地 两个b极接到一起 接输入 上管的e和下管的c接到一起 接输出 用来匹配电压 或者提高IO口的驱动能力 有几种图腾柱电路的变种 一种是两
  • Log4j2安全 JNDI漏洞 CVE-2021-44228

    Apache Log4j2是基于Java的日志记录工具 工具重写了Log4j框架 并且引入了大量丰富特性 该日志框架被大量用于业务系统开发 用来记录日志信息 大多数情况下 开发者可能会将用户输入导致的错误信息写入日志中 因该组件使用极为广泛
  • linux内核态发送tcp包,Linux内核发送构造数据包的方式

    本文欢迎自由转载 但请标明出处 并保证本文的完整性 作者 Godbach 日期 2009 09 01 一 构造数据包简析 这里并不详细介绍如何在内核中构造数据包 下文如有需要会在适当的位置进行分析 这里简单的分析讲一下内核态基于Netfil
  • 系统掌握数据结构8 树与二叉树 第二节

    树与二叉树 2节 1 线索二叉树的逻辑结构 2 线索二叉树的物理结构 3 中序线索二叉树 3 1 逻辑结构 3 2 代码实现 4 先序线索二叉树 5 后序线索二叉树 6 三叉链表的物理结构 7 先序线索二叉树的三叉链表存储实现 8 后序线索
  • 【转】C#操作sqlServer数据库

    转载地址 https blog csdn net weixin 42731241 article details 81172622 工具 vs2015 SqlServer 数据库的连接及打开关闭 VS2015建立一个c 的控制台应用程序 必
  • 10个 解放双手的 IDEA 插件,让你少写冤枉代码

    公众号关注 GitHubDaily 设为 星标 每天带你逛 GitHub 友情提示 插件虽好 可不要贪装哦 装多了会 卡 卡 卡 正经干活用的 分享一点自己工作中得心应手的 IDEA 插件 可不是在插件商店随随便便搜的 都经过实战检验 用过
  • 两种通过aop设置重试机制的方式

    注意 1 不要在同一个类中调用自定义的注解 如果controller调用 注解要放在service层 其他类 2 如果有配置aop扫描的包 不能只设置扫描control下的文件 方式一 controller层 RequestMapping
  • Map

    1 说明 系统根据C Reference学习下STL gt Map 2 Map Maps are associative containers that store elements formed by a combination of a
  • 攻略:Windwos 系统中应用程序访问权限

    在Windwos XP系统中 存在着两种类型的账户 即隶属于Administrators组中的管理员账户和隶属于Users组中受限制的用户 默认情况下 管理员账户可以无限制地运行计算机中的所有程序 包括XP系统内建的以及自行安装的应用程序
  • Vue常用指令详解分析

    Vue入门 Vue是一个MVVM Model View ViewModel 的前端框架 相对于Angular来说简单 易学上手快 近两年也也别流行 发展速度较快 已经超越Angular了 比较适用于移动端 轻量级的框架 文件小 运行速度快
  • 2023AI会议时间表(持续更新)

    本文已参与 新人创作礼 活动 一起开启掘金创作之路 这篇文我会持续更新 小伙伴们可以收藏 尤其是有发论文需求的同学 当然了 如果你上网方便 有耐心的话 也可以直接上这个网站去查看 只不过要筛选一下 我这里主要是把机器学习还有我自己比较相关的
  • 【牛客网 - 华为机试】HJ59 找出字符串只出现一次的字符

    HJ59 找出字符串只出现一次的字符 题目描述 找出字符串中第一个只出现一次的字符 输入描述 输入几个非空字符串 输出描述 输出第一个只出现一次的字符 如果不存在输出 1 示例1 输入 asdfasdfo aabb 输出 o 1 impor
  • C++去掉字符串前后的多余空格

    C 中std string 没有可以直接去掉字符串前后多余空格的接口 所以自己实现了一个 借鉴Qt中QString的trimmed 函数源码实现的版本 去掉std string 字符串前后的空格 void string trimmed st
  • vscode连接服务器

    使用VScode连接服务器的好处在于 vscode可以当成一个网页端的IDE 而使用Pycharm连接服务器则存在文件的同步问题 而且很慢 此处保险起见 加一个前提条件 to the best of our knowledge 步骤一 安装
  • Vue3的fragment

    vue2时 组件的模板结构中出现多个标签时 需要使用根标签 vue3时 组件的模板结构中出现多个标签时 可以不用根标签 这是因为vue3会自动将多个标签用fragment包裹 举个例子 main js import createApp fr
  • 华为h22h05服务器装系统_在新服务器装12年前的系统,如何实现

    2020年1月14日 微软正式终止支持Windows 7 包括不再提供任何技术支持 软件更新和安全更新及修复 这意味着 如果用户不想让自己的电脑 裸奔 就得升级到更新的操作系统版本 也许有些人觉得更新操作系统并没有什么 但对那些古董软件使用
  • 社会学讲义

    文章目录 一 社会学的观点和视角 1 世界为什么不是看起来的那个样子 为什么我们需要通过社会学的视角来看世界 2 社会学的想象力 赖特 米尔斯 C Wright Mills 3 为何要培养 社会学的想象力 4 为什么说人的世界观和人的属性是
  • 关于蓝牙测试蓝牙协议(应用层)

    1 HFP 让蓝牙设备可以控制电话 如接听 挂断 拒接 语音拨号等 拒接 语音拨号要看蓝牙设备和手机是否支持 2 HSP 描述了蓝牙耳机如何与计算机或者其他蓝牙设备 手机 通信 连接配置好后耳机可以作为远程设备的音频输入和输出接口 这个是最
  • torch.bmm()函数详解

    去掉batch size这一维度 按照矩阵乘法运算即可 自行体会 class PAM Module nn Module Position attention module def init self in dim gt None super
  • vue-cli4.0下antd(ant-design-vue)按需引入(附带完整过程)

    ant design vue 踩坑记录 官网没给vue cli4的例子 于是试试按照官网vue cli3的步骤操作 遇到了一些问题 这里记录下 后文给了完整过程 我亲自重新跑过一遍 应该是没有问题的 坑1 Failed to resolve