Vue-cli 如何將px轉(zhuǎn)化為rem適配移動(dòng)端
vue-cli2版本配置
1.下載lib-flexible
我使用的是vue-cli+webpack,所以是通過npm來安裝的
npm i lib-flexible --save
2.引入lib-flexible
在main.js中引入lib-flexible
import 'lib-flexible/flexible'
3.設(shè)置meta標(biāo)簽
通過meta標(biāo)簽,設(shè)置設(shè)備寬度以及縮放比例
<meta name="viewport" content="width=device-width, initial-scale=1.0">
4.安裝px2rem-loader
npm install px2rem-loader --save-dev
5.配置px2rem-loader
這里是重要
的一步~~
在build文件中找到util.js
,將px2rem-loader
添加到cssLoaders
中,如:
const cssLoader = { loader: 'css-loader', options: { minimize: process.env.NODE_ENV === 'production', sourceMap: options.sourceMap } } const px2remLoader = { loader: 'px2rem-loader', options: { remUnit: 75 } }
同時(shí),在generateLoaders
方法中添加px2remLoader
function generateLoaders (loader, loaderOptions) { const loaders = [cssLoader,px2remLoader] if (loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) }
6.重啟,一切ok~
當(dāng)配置完之后,只需要重啟下服務(wù),就自動(dòng)轉(zhuǎn)化為rem了
npm run dev
二. Vue-cli3 中的用法
關(guān)于移動(dòng)端的適配,我喜歡用px2rem配合lib-flexible,非常方便,vue-cli3.0后,項(xiàng)目配置被大大精簡了,這使得原來配置px2rem的文件不復(fù)存在,但其實(shí)只要掌握了正確的姿勢(shì),配置方法比原來更簡單~
1、lib-flexible
作用:讓網(wǎng)頁根據(jù)設(shè)備dpr和寬度,利用viewport和html根元素的font-size配合rem來適配不同尺寸的移動(dòng)端設(shè)備
npm i lib-flexible --save
引入:
入口文件main.js
中:
import 'lib-flexible/flexible.js'
2、pxtorem
作用:將項(xiàng)目中css的px轉(zhuǎn)成rem單位,免去計(jì)算煩惱
npm i postcss-px2rem --save
配置:vue.config.js
(如果沒有,手動(dòng)創(chuàng)建一個(gè))內(nèi),在postcss
內(nèi)添加:
module.exports = { css: { loaderOptions: { css: { // options here will be passed to css-loader }, postcss: { // options here will be passed to postcss-loader plugins: [require('postcss-px2rem')({ remUnit: 37.5 })] } } } }
TIPS
1、pxtorem中,對(duì)于想忽略的px寫成大寫即可,諸如 border:1PX
solid #fff;
2、也可以選擇postcss-px2rem,我更喜歡pxtorem的忽略方式,方便我vscode的beautify自動(dòng)格式化代碼
到此這篇關(guān)于Vue-cli 將px轉(zhuǎn)化為rem適配移動(dòng)端的文章就介紹到這了,更多相關(guān)Vue-cli 將px轉(zhuǎn)化為rem內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
element日歷calendar組件上月、今天、下月、日歷塊點(diǎn)擊事件及模板源碼
這篇文章主要介紹了element日歷calendar組件上月、今天、下月、日歷塊點(diǎn)擊事件及模板源碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Vue.js基礎(chǔ)之監(jiān)聽子組件事件v-on及綁定數(shù)據(jù)v-model學(xué)習(xí)
這篇文章主要為大家介紹了Vue.js基礎(chǔ)之監(jiān)聽子組件事件v-on及綁定數(shù)據(jù)v-model學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Vue3學(xué)習(xí)筆記之依賴注入Provide/Inject
provide和inject可以實(shí)現(xiàn)嵌套組件之間進(jìn)行傳遞數(shù)據(jù),這兩個(gè)函數(shù)都是在setup函數(shù)中使用的,下面這篇文章主要給大家介紹了關(guān)于Vue3學(xué)習(xí)筆記之依賴注入Provide?/?Inject的相關(guān)資料,需要的朋友可以參考下2023-05-05Vue-router 類似Vuex實(shí)現(xiàn)組件化開發(fā)的示例
本篇文章主要介紹了Vue-router 類似Vuex實(shí)現(xiàn)組件化開發(fā)的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09