123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- /**
- * Created by chen on 2017/9/26.
- */
- let gulp =require( 'gulp');
- let gulpLoadPlugins = require('gulp-load-plugins');
- let del = require('del');
- let uglify = require('gulp-uglify-es').default;
- let config = require("./config/gulpConfig.js");
- const $ = gulpLoadPlugins();
- let common_jspaths=config.common_jspaths;
- let common_css=config.common_css;
- let pm_jspaths=config.pm_jspaths;
- let pm_csspaths=config.pm_css;
- let login_jspaths=config.login_jspaths;
- let main_jspaths=config.main_jspaths;
- let main_csspaths=config.main_css;
- let version=config.version;
- let cssDest='web/dest/css';
- let scriptsDest='web/dest/scripts';
- let commonOptions={
- jspaths:common_jspaths,
- csspaths:common_css,
- concatName:'common.all.min'
- };
- let headerOptions={
- version:version,
- scriptsDest:'web/dest/scripts',
- concatName:'header.all.min',
- srcHtml:'web/src/html/common/header.html',
- htmlDest:'web/common/html',
- htmlName:'header.html',
- injectList:['web/dest/scripts/common.all.min.'+version+'.js']
- };
- let loginOptions={
- version:version,
- scriptsDest:'web/dest/scripts',
- jspaths:login_jspaths,
- concatName:'login.all.min',
- srcHtml:'web/src/html/login/login.html',
- htmlDest:'web/users/html',
- htmlName:'login.html',
- injectList:[ 'web/dest/scripts/common.all.min.'+version+'.js',
- 'web/dest/scripts/login.all.min.'+version+'.js',
- 'web/dest/css/common.all.min.'+version+'.css']
- }
- let pmOptions={
- version:version,
- scriptsDest:'web/dest/scripts',
- jspaths:pm_jspaths,
- csspaths:pm_csspaths,
- concatName:'pm.all.min',
- srcHtml:'web/src/html/pm/!*.html',
- htmlDest:'web/building_saas/pm/html',
- htmlName:'project-management.html',
- injectList:['web/dest/scripts/pm.all.min.'+version+'.js',
- 'web/dest/css/common.all.min.'+version+'.css',
- 'web/dest/css/pm.all.min.'+version+'.css']
- };
- let mainOptions={
- version:version,
- scriptsDest:'web/dest/scripts',
- jspaths:main_jspaths,
- csspaths:main_csspaths,
- concatName:'main.all.min',
- srcHtml:'web/src/html/main/main.html',
- htmlDest:'web/building_saas/main/html',
- htmlName:'main.html',
- injectList:['web/dest/scripts/main.all.min.'+version+'.js',
- 'web/dest/css/common.all.min.'+version+'.css',
- 'web/dest/css/main.all.min.'+version+'.css']
- }
- function minify(options) {
- if(options.jspaths){
- return gulp.src(options.jspaths)
- .pipe($.plumber())
- // .pipe(uglify())
- .pipe($.concat(options.concatName+"."+version+".js"))
- .pipe(gulp.dest(scriptsDest));
- }
- return;
- }
- function css(options) {
- if(options.csspaths){
- return gulp.src(options.csspaths)
- .pipe($.plumber())
- .pipe($.cssnano())
- .pipe($.concat(options.concatName+"."+version+".css"))
- .pipe(gulp.dest(cssDest));
- }
- return;
- }
- function inject(options) {
- var target = gulp.src(options.htmlDest+'/'+options.htmlName);
- var sources = gulp.src(options.injectList, {read: false});
- return target.pipe($.plumber())
- .pipe($.inject(sources))
- .pipe(gulp.dest(options.htmlDest));
- }
- function htmlmin(options) {
- return gulp.src(options.htmlDest+'/*.html')
- // .pipe($.htmlmin({collapseWhitespace: true}))
- .pipe(gulp.dest(options.htmlDest));
- }
- gulp.task('minify', function (){
- return minify(commonOptions);
- });
- gulp.task('css',function () {
- return css(commonOptions);
- })
- gulp.task('common', ['minify','css']);
- gulp.task('login_minify',['common'], function (){
- return minify(loginOptions);
- });
- gulp.task('login_css',function () {
- return css(loginOptions);
- })
- gulp.task('login_inject',['login_minify','login_css'],function () {
- return inject(loginOptions);
- })
- gulp.task('login',['login_inject'], function (){
- return htmlmin(loginOptions);
- });
- gulp.task('header_minify',['common'], function (){
- return minify(headerOptions);
- });
- gulp.task('header_css',function () {
- return css(headerOptions);
- })
- gulp.task('header_inject',['header_minify','header_css'],function () {
- return inject(headerOptions);
- })
- gulp.task('header',['header_inject'], function (){
- return htmlmin(headerOptions);
- });
- gulp.task('pm_minify',['common'], function (){
- return minify(pmOptions);
- });
- gulp.task('pm_css',function () {
- return css(pmOptions);
- })
- gulp.task('pm_inject',['pm_minify','pm_css'],function () {
- return inject(pmOptions);
- })
- gulp.task('pm',['pm_inject'], function (){
- return htmlmin(pmOptions);
- });
- gulp.task('main_minify',['common'], function (){
- return minify(mainOptions);
- });
- gulp.task('main_css',function () {
- return css(mainOptions);
- })
- gulp.task('main_inject',['main_minify','main_css'],function () {
- return inject(mainOptions);
- })
- gulp.task('main',['main_inject'], function (){
- return htmlmin(mainOptions);
- });
- gulp.task('build',['header','login','pm','main']);
|