浅谈gulp前端工程化
来源:互联网 发布:wish加价如何优化 编辑:程序博客网 时间:2024/05/22 12:14
为什么要做前端工程化?
1,校验无误后,合并压缩多个js文件
2,对css文件进行编译(各种css框架,如sass less)
使用工具:
用git辅助cmd(不用频繁找文件位置了)
gulp构建工具进行编译(自行安装)
插件:代码中有标出(自行去下载)
注意下载插件的方式(例如gulp-jshint):
npm install –save-dev jshint gulp-jshint
// 引用插件var gulp=require('gulp');//引入gulpvar hint=require("gulp-jshint");//1,校验jsvar 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
- 浅谈gulp前端工程化
- 使用gulp构建前端工程浅谈
- gulp前端工程化教程
- webpack gulp 实现完整前端工程化
- gulp-前端项目自动化(工程化)
- 前端工程体系 gulp
- 浅谈前端工程化思想
- 前端工程化:在gulp中顺序执行任务
- 前端项目工程化(yo+grunt/gulp+bower)
- 前端工程之构建工具-gulp实战
- Gulp vs Grunt 前端工程构建工具
- 前端工程筹建NodeJs+gulp+bower
- 前端工程的构建工具gulp
- 基于Gulp的前端自动化工程搭建
- 前端工程自动化--gulp的使用
- 前端优化带来的思考,浅谈前端工程化
- 前端优化带来的思考,浅谈前端工程化
- 前端工程化之路:初探 Gulp流式构建工具
- library not found for -lAFNetworking
- bzoj 4556 [Tjoi2016&Heoi2016]字符串
- Linux之动态库的创建和使用
- 数据库初级入门
- Win10下Appium环境部署
- 浅谈gulp前端工程化
- 陌生的NSUserDefaults
- java菜鸟 socket简易局域网聊天室
- i/o多路转接 select(一)
- 怎么监听某篇帖子的访问量
- [YTU]_2433( C++习题 对象数组求最大值)
- STL vector用法介绍
- 设计模式---原型模式
- 设计模式学习