app-base-web
Version:
web development common base package.
172 lines (160 loc) • 4.95 kB
JavaScript
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();
});
}));