前端自动化构建工具 gulp 学习笔记 一、

一、我对gulp的初期理解

是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并、压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表。

官方解说是:基于流的自动化构建工具。

基于流:应该就是他的语法方式有点像jquery 那样 如: $(".active").css("background":"red").addClass("default");像这样一直点点下去。前一个表达式的输出作为后一个表达式的输入,好像说是叫管道什么的。

自动化:也就是他可以监听你某些文件的变化而做出相应 也就是执行某些任务,比如:你编辑好了一个css文件,保存时,它可以自动的将你这个文件去执行压缩,合并然后另存一份压缩后的文件,还要就是 他可以监听你的文件变化,自动的刷新浏览器页面,也就是比如你设置一个样式,你不用去刷新浏览器,只要保存一下,浏览器就自动跟着刷新了。

这就是目前我对他的了解和尝试。

二、得到gulp

这个首先得知道nodejs,和npm,之前我一直听说nodejs我还以为是个.js文件需要引入的,结果他居然是个环境,就是让js脱离浏览器执行的环境,安装到电脑上后那些基于nodejs的工具之类的才能使用。

而npm呢是个管理器,有点像个下载安装工具,只要你安装好了nodejs那么在控制台用命令npm ** 就算是使用了 如npm install gulp -g这种,全局安装gulp,那么他就会下载安装gulp,就像迅雷之类的,只是他主要是用来管理一些工具包。

具体可以参照 https://blog.csdn.net/momoda111/article/details/76590701 我是从这里开始了解的。

 

其实这里还牵扯到了commonjs, commonjs其实是中代码模块化开发规范。方法require(“**.js”) module.export等就是他的特点。但是用commonjs规范写的代码浏览器不认,因为浏览器没有require这类方法

所以又牵扯出一个 工具broserify,这个工具是把 按照commonjs规范写的代码,编码一下,变成浏览器可以识别的普通js代码。

gulp的使用主要是依赖各种插件,如压缩css的插件等,要用某个插件需要去下载并在gulpfile.js中引用。

 

以下是插件学习笔记:

 

免刷新浏览器实现实时更新页面

无论修改了html,还是css 或者js文件,无需刷新,只要一保存那么页面就更新。

1.首先需要插件 gulp-connect 的支持

var connect = require("gulp-connect");

2.启动一个服务器(放到一个任务中)

gulp.task("server",function(){

  connect.server({

  root:"./app/"     //指定服务器的项目目录 这样服务器启动后就可以直接访问到该目录下的页面

  livereload:true    //是否支持实时刷新页面

  port:8888     //指定一个端口   可以开启多个服务器 只要指定不同的端口即可

  });

});

3.指定需要自动刷新的文件(放到一个任务中)

如:gulp.task("html",function(){

  gulp.src(“.app/css/*.css”).pipe(connect.reload());// 关键在于 connect.reload() 只要在流的最后加上这个就表示刷新页面  即重新加载connect中的项目

});

4.监听需要修改后触发任务的文件

gulp.task("watch",function(){

  gulp.watch(path.app + "**/*.html",['html']);

});

5.做一个一次性启动整个任务的 入口任务。

gulp.task("default",["server","watch"]);

以上的流程解释为:监听  path.app + "**/*.html" 如果其发生变化 则执行任务 ‘html’,而任务html中指定服务器重新载入。

至此 一个简单的 实时更新页面的工具就做好了。

源码:

var gulp = require("gulp");
var connect = require("gulp-connect");
var path = {
    app:"./app/"
};
gulp.task("css",function(){
    gulp.src(path.app + "css/*.css").pipe(connect.reload());    
});
gulp.task("js",function(){
    gulp.src(path.app + "js/*.js").pipe(connect.reload());    
});
gulp.task("html",function(){
    gulp.src(path.app + "**/*.html").pipe(connect.reload());    
});
gulp.task("server",function(){
    
    //启动服务器
    connect.server({
        root:path.app,
        livereload:true,
        port:8888
    });
    //使用默认浏览器打开路径下的网页 即打开 root指定的网页
});
gulp.task("watch",function(){
    gulp.watch(path.app + "**/*.html",['html']);
    gulp.watch(path.app + "**/*.js",['js']);
    gulp.watch(path.app + "**/*.css",['css']);
});
gulp.task("default",["server","watch"]);

如果你想任务执行时自动启动浏览器打开页面 在任务server中使用 open("http://localhost:8888"); 这个open也是个插件需要引入。

转载于:https://www.cnblogs.com/potatog/p/9392006.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值