按需引入vant组件

本文介绍了如何通过Babel插件babel-plugin-import管理和配置Vue Vant框架的组件导入,演示了按需引入Button和List组件,并在main.js中进行注册,适合学习Vue移动端组件开发的读者。

Vant 2 - Mobile UI Components built on Vue

安装插件、添加配置

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式。

# 安装插件
npm i babel-plugin-import -D
// 在.babelrc 中添加配置
// 注意:webpack 1 无需设置 libraryDirectory
{
  "plugins": [
    ["import", {
      "libraryName": "vant",
      "libraryDirectory": "es",
      "style": true
    }]
  ]
}

// 对于使用 babel7 的用户,可以在 babel.config.js 中配置
module.exports = {
  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]
};

 定义一个js文件

//按需引入vant-ui组件
import {Button,List} from 'vant'; 
const compontent = [Button,List]

export default function install(Vue) {
    if (install.installed) return
    compontent.forEach(i => Vue.component(i.name, i))
}

在main.js中注册

import vant from "./components/vantComponents";
Vue.use(vant);

注意:有可能Toast引入后无用,可以在页面 中再次引入。

在 UniApp 中按引入 Vant 组件库,可以有效减少项目体积,仅引入项目中实际使用的组件。以下是具体的配置方法: ### 1. 安装依赖 首先,确保你已经创建了 UniApp 项目,并通过 npm 或 yarn 安装 Vant 的相关依赖。推荐使用 yarn: ```bash yarn add @vant/weapp --production ``` 也可以使用 npm 进行安装: ```bash npm i @vant/weapp -S --production ``` 如果你要使用 0.x 版本,可以使用以下命令安装: ```bash npm i vant-weapp -S --production ``` ### 2. 配置按引入插件 为了实现按引入,建议使用 [unplugin-vue-components](https://www.npmjs.com/package/unplugin-vue-components) 插件。首先安装该插件: ```bash yarn add unplugin-vue-components --dev ``` 然后,在 `vite.config.js` 或 `webpack.config.js` 中配置插件,以支持自动按引入组件: ```javascript import Components from 'unplugin-vue-components/vite' import { VantResolver } from 'unplugin-vue-components/resolvers' export default { plugins: [ Components({ resolvers: [VantResolver()] }) ] } ``` 这样配置后,Vant组件将只在使用时被自动引入,不会造成全局引入带来的体积膨胀。 ### 3. 在页面中使用组件要使用的页面中直接引入Vant 组件,例如在 `index.vue` 文件中使用 `Button` 组件: ```vue <script setup> import { Button } from 'vant' </script> <template> <Button type="primary">主要按钮</Button> </template> ``` ### 4. 微信小程序端的额外配置(如) 如果项目是用于微信小程序,还要额外引入 Vant WeApp 的组件。你可以从 [GitHub 仓库](https://github.com/youzan/vant-weapp) 下载 dist 文件夹,并将其放入项目根目录下的 `wxcomponents` 文件夹中。 然后,在 `pages.json` 中进行配置: ```json { "easycom": { "autoscan": true, "custom": { "^van-(.*)": "@/wxcomponents/vant-weapp/dist/van-$1/van-$1" } } } ``` 这样配置后,可以在页面中使用类似 `van-button` 的标签来调用微信小程序的 Vant 组件: ```vue <template> <van-button type="primary">微信小程序按钮</van-button> </template> ``` ### 5. 构建优化 如果你使用的是 H5 或 App 端,确保构建工具支持 Tree Shaking,以进一步优化未使用组件的剔除。Vant 的模块化结构支持现代构建工具的按加载功能,确保最终打包体积最小化。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值