UNPKG

app-base-web

Version:
172 lines (160 loc) 4.95 kB
const gulp = require('gulp') var clean = require('gulp-clean'); //清理文件或文件夹 const concat = require('gulp-concat') const plumber = require('gulp-plumber') const fileinclude = require('gulp-file-include') const connect = require('gulp-connect') const proxy = require('http-proxy-middleware') const htmlmin = require('gulp-htmlmin') const minifyCSS = require('gulp-minify-css') const uglify = require('gulp-uglify') const imagemin = require('gulp-imagemin') const sass = require('gulp-sass') const sourcemaps = require("gulp-sourcemaps") const gulpAutoprefixer = require('gulp-autoprefixer') const autoprefixer = require('autoprefixer') const cssnext = require('cssnext') const precss = require('precss') const babel = require("gulp-babel") const gulpif = require('gulp-if'); const css = { src: 'src/scss/**/*', dest: 'css' } const scss = { src: 'src/**/**/style/*.scss', dest: 'lib' } const js = { src: 'src/**/**/*.js', dest: 'lib' } //清理构建目录 gulp.task('clean', function () { return gulp.src(['css'], { read: false, allowEmpty: true }).pipe(clean({ force: true })); }); //拷贝 gulp.task('fgq', function () { //app-os-admin let dist = "/Volumes/Docs/Git/app-os-admin/node_modules/app-base-web/" gulp.src([scss.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); //app-ipr-admin dist = "/Volumes/Docs/Git/app-ipr-admin/node_modules/app-base-web/" gulp.src([scss.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); //hf-race-admin dist = "/Volumes/Docs/Git/hf-race-admin/node_modules/app-base-web/" gulp.src([scss.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); return gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); }); //拷贝 gulp.task('limt', function () { let dist = "/Users/mingtaoli/app-ipr-admin/node_modules/app-base-web/" gulp.src([css.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); }); //拷贝 gulp.task('xyj', function () { let dist = "/Users/paddy/webstromProject/app-ipr-admin-init3/node_modules/app-base-web/" gulp.src([css.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); }); //拷贝 gulp.task('hsp', function (done) { let dist = "/Users/linjun/git/app-ipr-admin/node_modules/app-base-web/" gulp.src([css.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); done(); }); gulp.task('hsp-os', function (done) { let dist = "/Users/linjun/git/app-os-admin/node_modules/app-base-web/" gulp.src([css.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); gulp.src([js.dest + '/**/*'], { }).pipe(gulp.dest(dist + "lib")); gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); done(); }); gulp.task('build', function () { let dist = "./" gulp.src([css.dest + '/**/*'], { }).pipe(gulp.dest(dist + "css")); // gulp.src([js.dest + '/**/*'], { // }).pipe(gulp.dest(dist + "js")); return gulp.src(['src/**/*'], { }).pipe(gulp.dest(dist + "src")); }); gulp.task('css', () => { return gulp.src(css.src) .pipe(plumber()) .pipe(sourcemaps.init()) .pipe(sass().on('error', sass.logError)) .pipe(gulpAutoprefixer({ browsers: ['last 2 versions'], cascade: false })) // .pipe(concat('main.css')) .pipe(minifyCSS()) .pipe(gulp.dest(css.dest)) }); gulp.task('sass', () => { return gulp.src(scss.src) .pipe(plumber()) .pipe(sourcemaps.init()) .pipe(sass().on('error', sass.logError)) .pipe(gulpAutoprefixer({ browsers: ['last 2 versions'], cascade: false })) // .pipe(concat('main.css')) .pipe(minifyCSS()) .pipe(gulp.dest(scss.dest)) }); var condition = function (file) { // TODO: 分析为何这几个包执行js压缩失败 return file.path.indexOf("/select/") == -1 && file.path.indexOf("/tree/") == -1 && file.path.indexOf("/util-net/") == -1; } gulp.task('js', () => { return gulp.src([js.src]) .pipe(babel({ presets: ['react', 'es2015', 'stage-0'] // es5检查机制, })) .pipe(gulpif(condition, uglify())) //排除混淆关键字 .pipe(gulp.dest(js.dest)) }) gulp.task('build', gulp.series('clean', 'build', 'sass', 'js', 'css', () => { return new Promise(function (resolve, reject) { resolve(); }); }));