• 利用 Gulp 处理前端工作流程


    最近做项目,因为每次做完后都要手动压缩CSS、JS 等文件,压缩后另存为 *.min.xxx。 Less 还要手动输入命令进行编译,调整页面也经常要手动刷新页面看效果,很麻烦,就尝试用 gulp 去处理下我的工作流程,让事情变得更加简单可靠。

    首先要先确保 node、npm 已经安装到电脑里。

    //  全局安装

    $ npm install --global gulp

    //  作为项目的开发依赖安装

    $ npm install --save-dev gulp

    //  在项目的根目录下 创建 gulpfile.js

    //  然后运行 gulp 即可完成

    $ gulp

    1、构建实时重载的服务器

    var gulp = require('gulp');
    var browserSync = require('browser-sync');
    var reload = browserSync.reload;
    
    gulp.task('serve',function(){
    	//  非服务器环境下
         browserSync({ server:{ // 需要监控的目录 baseDir:'index' } });
         //  服务器环境下
         browserSync.init({
           proxy:'localhost/index.php',
       }); // 监视文件内容 gulp.watch(['*.html','static/style/*.less','static/script/*.js'],{cwd:'index'},reload); });

      $ gulp serve  //启动服务

    2、自动压缩 JavaScript文件

    var rename = require('gulp-rename');
    var uglify = require('gulp-uglify');
    
    //	设置输出目录
    var DEST = 'my';
    gulp.task('out',function(){
    	//	指定 JS 文件
    	return gulp.src('index/**/**/common.js')
    		//	输出 JS 文件
    		.pipe(gulp.dest(DEST))
    		//	压缩 JS 文件
    		.pipe(uglify())
    		//	重命名被压缩的 JS 文件
    		.pipe(rename({extname:'.min.js'}))
    		//	输出被压缩的 JS 文件
    		.pipe(gulp.dest(DEST));
    });
    

      $ gulp out  //执行压缩 JS

    3、自动编译 .less => .css

    var less = require('gulp-less');
    //	设置输出目录
    var DEST = 'my';
    
    gulp.task('less',function(){
    	gulp.src('index/**/**/*.less')
    		.pipe(less({compress:true}))
    		.pipe(gulp.dest(DEST));
    });
    

      $ gulp less  //执行编译 less

     4、自动编译 .scss => .css

    gulp.task('sass',function(){
    	return gulp.src('./style.scss')
    		.pipe(sass().on('error',sass.logError))
    		.pipe(gulp.dest('./css'));
    });
    

      $ gulp sass  //执行编译 sass

  • 相关阅读:
    Java-JUC(四):同步容器介绍
    Java-JUC(三):原子性变量与CAS算法
    Java:双向链表反转实现
    Java-JUC(二):Java内存模型可见性、原子性、有序性及volatile具有特性
    Java-JUC(一):volatile引入
    TSQL:判断某较短字符串在较长字符串中出现的次数。
    二叉树的定义与前序、中序、后序遍历
    c#:判断一个数组元素中否有重复元素
    c#:对两个字符串大小比较(不使用c#/java内部的比较函数),按升序排序
    mysql之 OPTIMIZE TABLE整理碎片
  • 原文地址:https://www.cnblogs.com/linjilei/p/5259214.html
Copyright © 2020-2023  润新知