手机适配方案gulp配置
样式配置文件
let gulp = require('gulp')
let sass = require('gulp-sass')
let autoprefixer = require('autoprefixer')
let postcss = require('gulp-postcss')
let minifyCss = require('gulp-minify-css')
let minifyJs = require('gulp-minify')
let babel = require('gulp-babel')
let del = require('del')
let Reproxy = require("gulp-connect-reproxy")
let connect = require('gulp-connect')
const OPTIONS = {
build: 'dist',
cssDir: ['./src/scss/*.scss'],
jsDir: ['./src/js/*.js'],
server: {
port: 8099,
base: path.join(__dirname, '../code')
}
}
var gulp = require('gulp')
var postcss = require('gulp-postcss')
var px2rem = require('postcss-px2rem')
let px2viewport = require('postcss-px-to-viewport')
//gulp[series,parallel]=['串行','并行'](都是返回一个函数,并且都是接受任务串)
gulp.task('compile', function () {
var processors = [
px2viewport({
// 设计稿尺寸
viewportWidth: 750,
// viewportHeight: 667,
unitPrecision: 5,
viewportUnit: 'vw',
selectorBlackList: [],
minPixelValue: 1,
mediaQuery: false
}),
// px2rem({
// // 1rem=74px
// remUnit: 75
// }),
autoprefixer({
browsers: ["Android 4.1", "iOS 7.1", "Chrome > 31", "ff > 31", "ie >= 10"]
})]
return gulp.src(OPTIONS.srDir)
.pipe(sass())
.pipe(postcss(processors))
.pipe(gulp.dest(OPTIONS.build))
})
// 清楚编译文件夹
gulp.task('clean', cb => {
return del(OPTIONS.build, { force: true }, cb)
})
// // 监听编译目录
// 监听编译目录
gulp.task('watch', function () {
return gulp.watch(OPTIONS.cssDir, gulp.parallel('compileCss'))
})
gulp.task('watchjs', function () {
return gulp.watch(OPTIONS.jsDir, gulp.parallel('compileJs'))
})
// 创建静态服务(代理服务)
gulp.task('static', (done) => {
connect.server({
root: OPTIONS.server.base,
port: OPTIONS.server.port,
host: '127.0.0.1',
livereload: true,
middleware: function (connect, options) {
options.rule = [/\.[png|jpg|cgi]/]
options.server = "192.168.1.1"
return [new Reproxy(options)]
}
})
// let app = connect()
// app.use(serveStatic(OPTIONS.server.base))
// http.createServer(app).listen(OPTIONS.server.port)
done()
})
// 默认任务
gulp.task('default',
gulp.series('clean', 'compileCss', 'compileJs',
gulp.parallel('watch', 'watchjs', 'static')))
{
"name": "typescript",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"gulp-autoprefixer": "^6.0.0",
"gulp-babel": "^8.0.0",
"gulp-concat": "^2.6.1",
"gulp-connect": "^5.7.0",
"gulp-connect-reproxy": "0.0.98",
"gulp-minify": "^3.1.0",
"gulp-minify-css": "^1.2.4",
"gulp-notify": "^3.2.0",
"gulp-postcss": "^8.0.0",
"gulp-rename": "^1.4.0",
"gulp-sass": "^4.0.2",
"gulp-uglify": "^3.0.1"
},
"dependencies": {
"connect": "^3.6.6",
"del": "^3.0.0",
"gulp": "^4.0.0",
"gulp-load-plugins": "^1.5.0",
"serve-static": "^1.13.2"
}
}
无线滚动测试