溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue-cli webpack移動(dòng)端如何自動(dòng)化構(gòu)建rem

發(fā)布時(shí)間:2021-07-22 15:58:09 來源:億速云 閱讀:155 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)Vue-cli webpack移動(dòng)端如何自動(dòng)化構(gòu)建rem的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

相信很多小伙伴想著自己的移動(dòng)端項(xiàng)目能夠自動(dòng)轉(zhuǎn)換為rem,這才符合前端的潮流,如果用自己手寫或者編輯器插件來改動(dòng)十分不方便還容易出錯(cuò),我在網(wǎng)上找了很多的方法發(fā)現(xiàn)以下問題:

1 照著老的視頻教程去弄,發(fā)現(xiàn)node npm webpack px2rem的各種插件版本都不一樣,根本沒用

2 網(wǎng)上的教程缺斤少倆,不完整,搞得我整了半天搞不定,想想干脆手動(dòng)vscode 的cssrem設(shè)置算了,但老子還是不服氣,東拼西湊還是整出來了,最后還是研究出了以下方法希望對(duì)大家的移動(dòng)端自動(dòng)化構(gòu)建rem有幫助

1 安裝vue-cli這個(gè)就不多說了,大家都應(yīng)該會(huì)

2 安裝和配置px2rem-loader(這里沒有用postcss試過了很多問題還是決定用這個(gè))

第一步 :npm install px2rem-loader

第二部 : webpack.base.conf.js下添加對(duì)象,這里我用的是sass,用其他的按照下面規(guī)律改就行了,相信都看得懂

module.exports={
module: {
  rules: [
   {
    test: /\.(css|less|scss)(\?.*)?$/,
    loader: 'style-loader!css-loader!sass-loader!less-loader!postcss-loader'
   }
  ]
 }
}

第三步 : webpack.dev.conf.js下的plugins添加一個(gè)東西,大家一定要注意remUnit這個(gè)屬性,就是在蘋果5情況下為40px,我這里定為40,也有人定為80,我這里40是為了配合hotcss使用下面我會(huì)講到

 plugins: [
  new webpack.LoaderOptionsPlugin({
   // webpack 2.0之后, 此配置不能直接寫在自定義配置項(xiàng)中, 必須寫在此處
   vue: {
    postcss: [require('postcss-px2rem')({ remUnit: 40, propWhiteList: [] })]
   }
  }
 ]

第四部 : 這是多人不知道的,很多人就是差這一步,utils.js下找到const cssLoader加上?importLoaders=1

 const cssLoader = {
  loader: 'css-loader?importLoaders=1',
  options: {
   minimize: process.env.NODE_ENV === 'production',
   sourceMap: options.sourceMap
  }
 }

到這里為止安裝就完成了

輸入font-size:40px

輸出font-size:1rem (在iphone下)

3 我們都知道設(shè)備的像素比不一樣的,所以我們用hotcss來調(diào)整設(shè)備的像素比 鏈接

我放在了src/assets/js/里面大家可根據(jù)習(xí)慣來

引入方法,自己定義什么名字都行,這里我吧hotcss.js改為了viewport.js

module.exports = {
 entry: {
  app: './src/main.js',
  rem: './src/assets/js/viewport.js'
 }
}

這樣就大功告成啦

感謝各位的閱讀!關(guān)于“Vue-cli webpack移動(dòng)端如何自動(dòng)化構(gòu)建rem”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI