0.1.1 • Published 5 years ago

postcss-unittrans v0.1.1

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

unittrans

一款postcss插件。 帮助开发者快速转换视图单位,目前支持px2rpx,px2rem。

快速开始

    # 安装
    npm i postcss-unittrans -D

gulp

使用gulp-postcss

// gulpfile.js
const {src, watch, dest} = require('gulp');
const postcss = require('gulp-postcss');
const unittrans = require('postcss-unittrans');

const rpxOption = {
    platform: 'swan',
    designWidth: 1242,
    ratio: 3
};
const plugins = [pxtorpx(rpxOption)];

// gulp task
const transformCss = () => {
    return src(css)
        .pipe(postcss(plugins))
        .pipe(dest('dist/'));
};
    
exports.dev = () => {
    const wathOpts = {
        ignoreInitial: false
    };
    watch(['**/*.css', '!dist/**'], wathOpts, transformCss);
};

webpack

使用postcss-loader

// webpack.config.js
const rpxOption = {
    platform: 'swan',
    designWidth: 1242,
    ratio: 3
};

module.exports = {
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    'style-loader',
                    { loader: 'css-loader', options: { importLoaders: 1 } },
                    {
                        loader: 'postcss-loader',
                        options: {
                            ident: 'postcss',
                            plugins: () => [
                                require('postcss-unittrans')(rpxOption),
                            ]
                        }
                    }
                ]
            }
        ]
    }
}

postcss

有的朋友可能不用三方工程化工具,直接在node环境使用postcss

// postcss.config.js
module.exports = {
  plugins: [
    require('autoprefixer'),
    require('postcss-unittrans')
  ]
}
// any node file
const postcss = require('postcss');
const rpxOption = {
    platform: 'swan',
    designWidth: 1242,
    ratio: 3
};

postcss([require('postcss-unittrans')(rpxOption)])
      .process(css, {from: ``, to: ``})
      .then(result => {
        // 根据配置文件themeList,分别处理对应的文件,打包各css 文件
      })
      .catch(error => {
        throw new Error(error)
      })

options说明

Common options:

  • platform: string swan小程序px2rpx模式,H5 webpx2rem模式.
  • designWidth: number 设计稿的原尺寸。
  • ratio: number 像素比。