Babel 是一个javascript编译器,PostCSS 是一个样式转换工具。二者均可以看做是一个转化平台,咱们能够在上面使用一些插件,来达到想要的代码转化。几乎每一个前端项目都要使用它们。javascript
{ "presets": [ // babel-preset-env插件,至关于 es2015 ,es2016 ,es2017 及最新版本。之后只需这一个preset就够了 ["env", { "modules": false, // 默认为 "commonjs",为false的话则是es6模块语法 "targets": { "browsers": ["> 1%", "last 2 versions", "android 2.3"] // browserslist }, "useBuiltIns": true // 若是为 true 且引入了polyfill (import "babel-polyfill")的话,插件 会根据 targets 的配置,重写 import "babel-polyfill" ,只引入对应环境必须的 "babel-polyfill" 的子模块,减小了多余的代码引入 }] ], "plugins": [ // babel-plugin-transform-runtime 插件,无全局污染地使用新API,可是不能使用实例方法,建议在开发供他人使用的库时使用。通常业务状况下使用 babel-polyfill 感受也没啥问题,那点污染对开发几乎无影响 "transform-runtime", { // 如下都是默认配置 "helpers": true, // 将内联的语法转换代码替换为引用对应模块,减小重复代码 "polyfill": true, // 使用非全局污染的 polyfill "regenerator": true, // 使用不污染全局做用域的 regenerator 运行时 "moduleName": "babel-runtime" // 设置使用helper模块时的路径 }] }
module.exports = { "plugins": { "autoprefixer": { browsers: ['android 2.3'] }, "postcss-mpvue-wxss": {} } }
const gulp = require('gulp'), postcss = require('gulp-postcss'), autoprefixer= require('autoprefixer') gulp.task('scss', function () { return gulp.src('css/*.css', {base: '.'}) .pipe(postcss([ autoprefixer({ browsers: [ 'android 2.3', 'ios 7' // browserslist ] }) ])) .pipe(gulp.dest('dist')) })