vue-cli配置flexible過程詳解
基于vue-cli配置手淘的lib-flexible + rem,實(shí)現(xiàn)移動(dòng)端自適應(yīng)
安裝flexible
npm install lib-flexible --save
引入flexible
在項(xiàng)目入口文件main.js中添加如下代碼,引入flexible
import 'lib-flexible'
px 轉(zhuǎn) rem
使用 webpack 的 px2rem-loader,自動(dòng)將px轉(zhuǎn)換為rem
安裝px2rem-loader
npm install px2rem-loader --save-dev
配置px2rem-loader
在vue-cli生成的文件中,找到以下文件 build/utils.js,如下圖添加配置

是否需要配置importLoaders,可參考最底部的說明。

px2rem 用法
安裝px2rem后,再使用px上有些不同,大家可以參考px2rem官方介紹,下面簡(jiǎn)單介紹一下。
- 直接寫px,編譯后會(huì)直接轉(zhuǎn)化成rem ---- 除開下面兩種情況,其他長(zhǎng)度用這個(gè)
- 在px后面添加/*no*/,不會(huì)轉(zhuǎn)化px,會(huì)原樣輸出。 --- 一般border需用這個(gè)
- 在px后面添加/*px*/,會(huì)根據(jù)dpr的不同,生成三套代碼。---- 一般字體需用這個(gè)
示例代碼
編譯前(自己寫的代碼)
.selector {
width: 150px;
height: 64px; /*px*/
font-size: 28px; /*px*/
border: 1px solid #ddd; /*no*/
}
編譯后(打包后的代碼)
.selector {
width: 2rem;
border: 1px solid #ddd;
}
[data-dpr="1"] .selector {
height: 32px;
font-size: 14px;
}
[data-dpr="2"] .selector {
height: 64px;
font-size: 28px;
}
[data-dpr="3"] .selector {
height: 96px;
font-size: 42px;
}
重啟項(xiàng)目,就可以愉快的用設(shè)計(jì)稿上的px了。
注意:坑
不能在index.html的頭部加 name 為 viewport 的 meta 標(biāo)簽,flexible會(huì)自動(dòng)為我們添加!
對(duì)外部引入css,px2rem能不能轉(zhuǎn)換rem問題
在實(shí)際運(yùn)用中發(fā)現(xiàn)對(duì)于外部引入的css文件,有時(shí)候px2rem能正常轉(zhuǎn)換,有時(shí)候又不能轉(zhuǎn)換,到底是什么原因呢?試驗(yàn)了三種不同的css引入情況,發(fā)現(xiàn)第一種能正常轉(zhuǎn)換,二三不能正常轉(zhuǎn)換,至于原因,由于才疏學(xué)淺,還是不懂,求大神解答三種引入方式的區(qū)別。
如果明白了這些方法,就沒必要再配置cssLoader的importLoaders了,因?yàn)橄旅娴姆椒ǜ菀卓刂仆獠恳氲腸ss是否需要轉(zhuǎn)rem,而更改importLoaders就控制不了了,它會(huì)強(qiáng)制轉(zhuǎn)換。
<style src='../assets/style.css'>
/* px2rem能正常轉(zhuǎn)換 */
</style>
<style>
/* px2rem不能正常轉(zhuǎn)換 */
@import '../assets/style.css';
</style>
<style>
/* px2rem不能正常轉(zhuǎn)換 */
@import url('../assets/style.css');
</style>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue移動(dòng)端用淘寶彈性布局lib-flexible插件做適配的方法
- flexible.js實(shí)現(xiàn)移動(dòng)端rem適配方案
- 詳解vue.js移動(dòng)端配置flexible.js及注意事項(xiàng)
- 基于vue-cli配置lib-flexible + rem實(shí)現(xiàn)移動(dòng)端自適應(yīng)
- 基于 flexible 的 Vue 組件:Toast -- 顯示框效果
- H5移動(dòng)端適配 Flexible方案
- js中flexible.js實(shí)現(xiàn)淘寶彈性布局方案
- 同步文件備份工具 Super Flexible File Synchronizer Pro v4
- Flexible.js可伸縮布局實(shí)現(xiàn)方法詳解
相關(guān)文章
vue?axios?form-data格式傳輸數(shù)據(jù)和文件方式
這篇文章主要介紹了vue?axios?form-data格式傳輸數(shù)據(jù)和文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
vue實(shí)現(xiàn)用戶動(dòng)態(tài)權(quán)限登錄的代碼示例
這篇文章主要介紹了vue如何實(shí)現(xiàn)用戶動(dòng)態(tài)權(quán)限登錄,文中的代碼示例介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)vue有一定的幫助,需要的朋友可以參考閱讀2023-05-05
vite+vue3搭建的工程實(shí)現(xiàn)批量導(dǎo)入store的module
這篇文章主要介紹了vite+vue3搭建的工程實(shí)現(xiàn)批量導(dǎo)入store的module方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
詳解VueRouter進(jìn)階之導(dǎo)航鉤子和路由元信息
本篇文章主要介紹了詳解VueRouter進(jìn)階之導(dǎo)航鉤子和路由元信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
vue使用CSS插件scss時(shí)代碼報(bào)紅問題
這篇文章主要介紹了vue使用CSS插件scss時(shí)代碼報(bào)紅問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
基于electron+vue3+ts搭建桌面端應(yīng)用并且可以熱更新
這篇文章主要為大家詳細(xì)介紹了如何基于electron+vue3+ts搭建桌面端應(yīng)用并且可以熱更新,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下2023-10-10
vue style width a href動(dòng)態(tài)拼接問題的解決
這篇文章主要介紹了vue style width a href動(dòng)態(tài)拼接問題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08

