vue脚手架中使用Vant,实现自动按需引入组件,并将px转换为rem

  偶然间看到一款不错的移动端vue组件库Vant,照着官方文档敲了一下,感觉还是不错的。想着以后的项目中可能会运用到,特此记录下,方便之后使用。

  现在很多的组件库为了减小代码包体积,都支持按需加载了。Vant作为一款优秀的移动端vue组件库,自然也是支持的。由于当下手机设备屏幕尺寸不一,做移动端的Web页面,需要考虑安卓/IOS的各种尺寸设备上的兼容,针对移动端设备的页面,设计与前端实现怎样做才能更好地适配不同屏幕宽度的移动设备?因而,在不同尺寸的手机设备上,页面“相对性的达到合理的展示(自适应)”或者“保持统一效果的等比缩放是很有必要的。

  废话不多说,进入正题吧:

  1、假设你已经全局安装了vue脚手架(npm install -g vue-cli)

  2、创建基于webpack模版的新项目:

   vue init webpack vue-demo(其中,vue-demo为项目名)

  3、打开项目,这里以vue-demot为例

   cd vue-demo

  4、安装lib-flexible(它的作用是检测页面是否已有meta[name="viewport"],如果有,将根据已有的meta标签来设置缩放比例,否则会自动在html的head中添加一个meta name="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size)。

   npm i lib-flexible --save

  5、在main.js中引入lib-flexible

   import ‘lib-flexible/flexible‘

  6、安装px2rem-loader(用于将px转换为rem的工具)

   npm install px2rem-loader

  7、配置px2rem-loader

// 在build文件中找到util.js,将px2rem-loader添加到cssLoaders中,如:
const px2remLoader = {
    loader: ‘px2rem-loader‘,
    options: {
      remUnit: 75 // 这里设置html根字体,vant-UI的官方根字体大小是37.5
    }
  }

  8、同时,在generateLoaders方法中添加px2remLoader

function generateLoaders (loader, loaderOptions) {
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader, px2remLoader] : [cssLoader, px2remLoader]
    。。。。
}

  9、安装Vant组件库

   npm i vant -S

  

  10、安装按需引入插件babel-plugin-import

   # 安装插件 npm i babel-plugin-import -D

  11、在babelrc中配置: 

"plugins": [
    "transform-vue-jsx",
    "transform-runtime",
    ["import", {
      "libraryName": "vant",
      "libraryDirectory": "es",
      "style": true
    }]
  ],

  

  接下来就可以npm run dev重启项目愉快地玩耍了。

  在main.js中按需加载你需要的组件: 

import {
    popup,
    Button
} from ‘vant‘;

  使用组件:

Vue.use(popup)
    .use(Button);

  页面中就可以这样使用了。

  <van-button type="primary" @click="showPopup">
      展示弹出层
    </van-button>

    <van-popup
      v-model="show"
      round
      position="bottom"
      :style="{ height: ‘20%‘ }"
    />

原文地址:https://www.cnblogs.com/jf-67/p/11382092.html

时间: 2024-07-30 11:06:32

vue脚手架中使用Vant,实现自动按需引入组件,并将px转换为rem的相关文章

vue px转换为rem

前端开发中还原设计图的重要性毋庸置疑,目前来说应用最多的应该也还是使用rem.然而很多人依然还是处于刀耕火种的时代,要么自己去计算rem值,要么依靠编辑器安装插件转换. 而本文的目标就是通过一系列的配置后,在开发中可以直接使用设计图的尺寸开发,项目为我们自动编译,转换成rem. 技术栈 vue-cli:使用脚手架工具创建项目. postcss-pxtorem:转换px为rem的插件. 自动设置根节点html的font-size 因为rem单位是相对于根节点的字体大小的,所以通过设置根节点的字体大

vue脚手架中使用axios

虽然之前用过n次,但大多都是直接在页面中引入axios.js的.今天想换种方式使用,一时间竟不知道怎么配置了.特此记录下. 1.npm 安装axios,文件根目录下安装,指令如下:  npm install axios --save-dev 2.在main.js中引入axios. import axios from 'axios' 3.接着将axios改写为Vue的原型属性 Vue.prototype.$http=axios 4.全局配置baseURL(后面如果接口baseURL更改了,可直接修

vue项目中使用了vw适配方案,引入第三方ui框架mint-ui时,适配问题解决

问题分析: 一般第三方ui框架用的都是不同的适配方式,如果我们使用了vw适配,那么在使用mint-ui框架时,就会发现px单位会被转换成vw,从而导致样式变小的问题,如图 解决方案 网上看到了很多种解决方案,这里推荐第四种 1.重写第三方组件ui样式大小 2.在postcss.config.js中的selectorBlackList选项中增加不需要vw转换的类名 selectorBlackList: ['.ignore', '.hairlines'], // (Array) The select

Vue项目中使用webpack配置了别名,引入的时候报错

chainWebpack(config) { config.resolve.alias .set('@', resolve('src')) .set('assets', resolve('src/assets')) .set('components', resolve('src/components')) }, 这是vue.config.js里的配置 使用的时候,要在别名前面加上~,这样就会告知加载器这是一个模块,而不是绝对路径 记住,在script部分或者js里引入的时候,不需要加 ~,直接用

vue项目使用webpack loader把px转换为rem

下载lib-flexible https://github.com/amfe/lib-flexible npm i lib-flexible --save 在main.js中引入lib-flexible import 'lib-flexible/flexible' 安装px2rem-loader https://github.com/songsiqi/px2rem 配置px2rem-loader 在build文件中找到util.js,添加px2rem-loader到cssLoaders中 con

在vue项目中正确的引入jquery

<script>标签引入jquery在vue脚手架里并不适用,需要利用webpack引入jquery 第一种方法 1:因为已经安装了vue脚手架,所以需要在webpack中全局引入jquery 打开package.json文件,在里面加入这行代码,jquery后面的是版本,根据你自己需求更改. dependencies:{ "jquery":"^2.2.3" } 然后在命令行中cnpm install install jquery --save-dev

vue项目中使用阿里iconfont图标

在上一篇文章中介绍了如何在vue项目中使用vue-awesome,如果你想了解,请移步<vue项目中使用vue-awesome> 这里介绍一下vue项目中如何使用阿里的iconfont图标库,先看一下官网 可以看到有将近两百万的图标量,可以说我们想要的矢量图图标这里大部分都是有的,下面直接开始如何在vue项目中使用,方法有两种 方法一:简单粗暴法 1.打开 iconFont官网 选择自己喜欢的图标,并且添加购物车 例如我现在选择三个图标 点击购物车,添加至项目 为了方便可以给项目起一个名字 选

vue-cli3.0 使用postcss-plugin-px2rem(推荐)和 postcss-pxtorem(postcss-px2rem)自动转换px为rem 的配置方法;

源文件链接: https://www.cnblogs.com/taohuaya/p/10274993.html 如何在vue-cli3.0中使用postcss-plugin-px2rem 插件 插件的作用是 自动将vue项目中的px转换为rem . 为什么这三个中要推荐  postcss-plugin-px2rem呢? 因为 postcss-plugin-px2rem 这个插件  配置选项上有  exclude 属性,它可以配置 是否对 某个文件夹下的所有css文件不进行从px到rem的转换.

Vue 实现 Element 的按需引入

使用 Vue-Cli 脚手架创建 Vue 项目实现 Element 的按需引入 安装 element-ui 和 babel-plugin-component 和 babel-preset-es2015 依赖 npm intall element-ui --save npm install babel-plugin-component -D npm install babel-preset-es2015 -D 修改 .babelrc 文件 { "presets": [["es2