首页 > webstrom有px转rem的插件吗

webstrom有px转rem的插件吗

mac下如何转换单位呢,Sublime是有的?求大神


可以使用Nodejs自己写个简单的命令行工具。
只需要掌握简单的同步file模块、正则表达式就可以了~

var fs = require("fs")

function format(filePath, keywords) {
    //  同步读取文件内容
    var content = fs.readFileSync(filePath, "utf-8")

    var arr = content.split("\n")

    var count = 0

    for (var i = 0; i < arr.length; i++) {
        var value = arr[i]
        var temp
        temp = value.replace(/(\d+)px/g, function() {
            if (arguments[3].indexOf("@media") != -1 || arguments[3].indexOf("max") != -1 || arguments[3].indexOf("min") != -1) {
                 
            } else if (Number(arguments[1]) > 1) {
                count++;
                // 这里可以自己维护换算规则
                return Number(arguments[1]) / 100 + "rem"
            }

            return arguments[0]
        })

        if (temp != arr[i]) {
            arr.splice(i + 1, 0, temp)
        }
    }

    var result = arr.join("\n")

    var formatFilePath = filePath.replace(".", keywords + ".");

    fs.writeFile(formatFilePath, result, "utf-8", function(err) {
        if (err) console.log(err)
        console.log("change lines number: " + count)
    })
}

format("style.css", "_format");

使用 node app.js (比如你把上面的代码保存成app.js)
然后就会自动计算同一路径下的style.css将其中的px都计算成rem,你可以在里面自己维护转换规则。

【热门文章】
【热门文章】