成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于postcss-weex插件, 讓weex開發(fā)更爽一點

qingshanli1988 / 862人閱讀

摘要:背景眾所周知,在開發(fā)中,的書寫一直是一個痛點。解決思路對于問題,受限于底層的實現(xiàn),目前并沒有辦法能夠解決。而最簡單地實現(xiàn)方式,就是基于去制作插件。

背景

眾所周知,在weex開發(fā)中,CSS的書寫一直是一個痛點。主要表現(xiàn)如下:

支持的CSS屬性有限;

不支持簡寫,例如不支持margin: 10px 0,必需要分開寫上下左右四個方向的margin;

在weex中尺寸會根據(jù)實際屏幕尺寸基于750px自動縮放,而web頁面不會,造成視覺效果不一致;

有一些尺寸(如字體,邊框)不需要自動縮放。

解決思路

對于問題1,受限于weex底層的實現(xiàn),目前并沒有辦法能夠解決。

對于問題2,只需要分開寫即可,但是分開寫多多少少會有些不便,同時因為前端開發(fā)人員通常都已經(jīng)習(xí)慣了簡寫的方式,很容易忘記分開寫。如果有一個工具能夠?qū)懞玫腃SS做自動轉(zhuǎn)換,那么問題就解決了。

對于問題3,可以聯(lián)想到weex中的布局方案其實與手淘的flexible布局方案如出一轍,因此只需要一個工具實現(xiàn)同等轉(zhuǎn)換,將CSS中的px轉(zhuǎn)成rem即可。

對于問題4,weex支持一個未在文檔中提及的單位wx,使用wx單位的尺寸不會進(jìn)行縮放,但是需要一個工具對web頁面進(jìn)行等同處理,否則還是無法達(dá)到一致。

解決方案

由上可知,其實只需要對CSS作一些轉(zhuǎn)換,就可以完美解決問題2、3、4。而最簡單地實現(xiàn)方式,就是基于postcss去制作插件。因為postcss除了將CSS文件抽象成AST,還提供了對AST的遍歷,我們只需要傳入一個回調(diào)函數(shù)來對接收的內(nèi)容作簡單的處理即可。同時postcss還提供了一些實用的API來操作AST,于是基于postcss的插件postcss-weex便應(yīng)運而生了。

因此,你只需要在你的webpack配置文件中添加postcss-weex的相關(guān)配置即可。

對于web

var prefixer = require("autoprefixer");
var weexCSS = require("postcss-weex");

{
    test: /.vue(?[^?]+)?$/,
    loader: `vue-loader`,
    options: {
        /**
         * important! should use postTransformNode to add $processStyle for
         * inline style normalization.
         */
        compilerModules: [
            {
                postTransformNode: el => {
                    el.staticStyle = `$processStyle(${el.staticStyle})`;
                    el.styleBinding = `$processStyle(${el.styleBinding})`;
                }
            }
        ],
        postcss: [
            weexCSS({env: "web"}),
            prefixer({ browsers: ["last 20 versions"] })
        ]
    }
}

對于weex

var weexCSS = require("postcss-weex");

{
    test: /.vue(?[^?]+)?$/,
    loader: `weex-loader`,
    options: {
        postcss: [
            weexCSS({env: "weex"})
        ]
    }
}

最后,為了正確生成meta,你還需要在html模板中引入flexible。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84876.html

相關(guān)文章

  • 你不知道的前端SDK開發(fā)技巧

    摘要:一個帶提示的最后對于開發(fā)同學(xué)來說,就算不使用,也強(qiáng)烈建議使用提供注解,它會通過一些類型推導(dǎo)來檢查你的代碼的正確性,可以減少很多開發(fā)過程中的。相對于對象,它保證了輸入的類型你定義的對象可能某一天不再只有類型的,不再需要額外的類型判斷。 作者:陳達(dá)孚 香港中文大學(xué)研究生,《移動Web前端高效開發(fā)實戰(zhàn)》作者之一,《前端開發(fā)者指南2017》譯者之一,在中國前端開發(fā)者大會,中生代技術(shù)大會等技術(shù)...

    jokester 評論0 收藏0
  • 漫談前端之路

    摘要:那么的學(xué)習(xí)就相對來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實不少,就把此篇文章當(dāng)做自己的一個階段性總結(jié)文章了,會保持長期更新。 HTML ????總的來說HTML并不難,...

    qujian 評論0 收藏0
  • 漫談前端之路

    摘要:那么的學(xué)習(xí)就相對來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實不少,就把此篇文章當(dāng)做自己的一個階段性總結(jié)文章了,會保持長期更新。 HTML ????總的來說HTML并不難,...

    番茄西紅柿 評論0 收藏0
  • 漫談前端之路

    摘要:那么的學(xué)習(xí)就相對來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實不少,就把此篇文章當(dāng)做自己的一個階段性總結(jié)文章了,會保持長期更新。 HTML ????總的來說HTML并不難,...

    BakerJ 評論0 收藏0
  • 漫談前端之路

    摘要:那么的學(xué)習(xí)就相對來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實不少,就把此篇文章當(dāng)做自己的一個階段性總結(jié)文章了,會保持長期更新。 HTML ????總的來說HTML并不難,...

    RdouTyping 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<