浅谈gulp前端工程化

为什么要做前端工程化?
1,校验无误后,合并压缩多个js文件
2,对css文件进行编译(各种css框架,如sass less)
使用工具:
用git辅助cmd(不用频繁找文件位置了)
gulp构建工具进行编译(自行安装)
插件:代码中有标出(自行去下载)
注意下载插件的方式(例如gulp-jshint):
npm install –save-dev jshint gulp-jshint
这里写图片描述

// 引用插件
var gulp=require('gulp');//引入gulp
var hint=require("gulp-jshint");//1,校验js
var concat=require("gulp-concat");//2,连接所有的js到一个包中的插件
var uglify=require("gulp-uglify");//3,压缩js文件

var sass=require("gulp-sass");//4,sass插件

var browserSync=require("browser-sync").create();//5,引用浏览器服务插件,承担了http-server的功能,启动服务器
// 引用插件完

gulp.task("default",['script','style'],function(){//在js css编译后。。。。
    browserSync.init({
        server:{
            baseDir:'./'//定位到当前文件
        }
    })//启动服务器插件
    /* 当文件有任何改动,用监听方法,直接刷新页面就行,不用一直gulp,
    还有一种在每个任务里面的最后面加上:.pipe(browserSync.stream());
    改css不用刷新,但是改js需要刷新,html也得刷新,不让html刷新的api是:browserSync.reload(),使用watch方式去执行
    */
    gulp.watch(['./style/**/*.scss'],['style']);
    gulp.watch(['./script/**/*.js'],['script']);
})
// 编译css任务
gulp.task("style",function(){
    return gulp.src(['./style/**/*.scss'])
    .pipe(sass())
    .pipe(gulp.dest('./dest'))//把正确的sass文件编译后放到编译文件dest中
    .pipe(browserSync.stream());
})
// 编译js任务
gulp.task("script",function(){
    return gulp.src(['./script/**/*.js'])//先找到所有js文件(源文件没经过任何处理的)
    .pipe(hint())
    .pipe(hint.reporter("default"))//输出形式,默认default
    .pipe(hint.reporter("fail"))//输出错误并终止程序(校验)
    .pipe(concat('index.js'))//连接文件
    .pipe(uglify())//压缩文件
    .pipe(gulp.dest('./dest'))//把正确的js文件放到编译文件dest中
    .pipe(browserSync.stream());
})

index.html引用编译后的文件:

<!--引用编译后的css-->
<link href="dest/index.css" rel="stylesheet" type="text/css"/>
<!--引用编译后的js-->
<script src="dest/index.js"></script>

运行编译过程(git):
$ gulp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值