gulp的使用之gulpfile.js文件的配置

人生舞台,最佳期待      2022-02-14     470

关键词:

Gulpfile.js是什么文件:

gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。

而gulpfile.js就是帮助gulp实现自动化管理项目功能的核心文件.

 

 

步骤1: 在命令行中安装gulp插件(前提是安装了gulp: npm install gulp -g)

可以同时下载多个插件:

cnpm install gulp gulp-less gulp-cssmin gulp-uglify gulp-concat gulp-connect gulp-imagemin open --save-dev

说明1: 因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以建议使用cnpm。

说明2: 项目依赖分两种,

--save:一个就是普通的项目依赖比如bootstrap,还用一种只是开发阶段需要用的,

--save-dev这种属于开发依赖比如gulp,开发依赖最终记录在devDependencies节点里面

说明3: 一些常用的gulp插件:

1. gulp-less: 把less文件转成css文件

2.gulp-clean-css:css文件压缩。
3.gulp-uglify:js压缩
4.gulp-concat:js合并
5.gulp-rename:重命名,给js压缩文件添加.min后缀
6.gulp-jshint:js语法检查

 

步骤2: 在项目文件夹下面创建一个名叫gulpfile.js的文件夹,在上面的插件下载完毕后,就可以配置相关代码的管理功能了:

 

步骤3: 开始打开gulpfile.js文件写代码配置(以gulp-less插件为例子):

 1 var gulp = require(‘gulp‘),//载入gulp模块
 2 
 3     less = require(‘gulp-less‘);//载入需要用到的插件
 4 //定义一个testLess任务(自定义任务名称)
 5 
 6 gulp.task(‘testLess‘, function () {
 7 
 8     gulp.src(‘less/*.less‘)       //该任务针对的文件
 9 
10         .pipe(less())             //该任务调用的模块
11 
12         .pipe(gulp.dest(‘css‘));  //将会在css下生成index.css
13 
14 });
15 
16 //监听less文件
17 
18 gulp.task(‘gulpWatch‘,function(){
19 gulp.watch(‘less/*.less‘,[‘testLess‘]);
20 });
21 //同时让默认程序执行一次,可以提高开始执行速度。
22 
23 gulp.task(‘default‘,[‘testLess‘,‘gulpWatch‘]);
最后在你的当前项目命令行中输入gulp执行即可。你会看到在相关的路径下生成对应的css文件。

但是,一般我们在公司,都不需要自己去配置这样一个文件,因为每次开发项目的时候都可以使用公司已经配置好的gulpfile.js文件,
把下面的代码拷贝到自己创建的gulpfile.js文件中即可使用:

代码如下:
var app = {  // 定义目录
    srcPath:‘src/‘,
    buildPath:‘build/‘,
    distPath:‘dist/‘
}

/*1.引入gulp与gulp插件   使用时,要去下载这些插件*/
var gulp = require(‘gulp‘);
var less = require(‘gulp-less‘);
var cssmin = require(‘gulp-cssmin‘);
var uglify = require(‘gulp-uglify‘);
var concat = require(‘gulp-concat‘);
var connect = require(‘gulp-connect‘);
var imagemin = require(‘gulp-imagemin‘);
var open = require(‘open‘);

/*把bower下载的前端框架放到我们项目当中*/
gulp.task(‘lib‘,function () {
    gulp.src(‘bower_components/**/*.js‘)
        .pipe(gulp.dest(app.buildPath+‘lib‘))
        .pipe(gulp.dest(app.distPath+‘lib‘))
        .pipe(connect.reload()) //当内容发生改变时, 重新加载。
});



/*2.定义任务 把所有html文件移动另一个位置*/
gulp.task(‘html‘,function () {
    /*要操作哪些文件 确定源文件地址*/
    gulp.src(app.srcPath+‘**/*.html‘)  /*src下所有目录下的所有.html文件*/
        .pipe(gulp.dest(app.buildPath)) //gulp.dest 要把文件放到指定的目标位置
        .pipe(gulp.dest(app.distPath))
        .pipe(connect.reload()) //当内容发生改变时, 重新加载。
});
/*3.执行任务 通过命令行。gulp 任务名称*/
/*定义编译less任务  下载对应的插件 gulp-less
 * 把less文件转成css放到build
 * */
gulp.task(‘less‘,function () {
    gulp.src(app.srcPath+‘style/index.less‘)
        .pipe(less())
        .pipe(gulp.dest(app.buildPath+‘css/‘))
        /*经过压缩,放到dist目录当中*/
        .pipe(cssmin())
        .pipe(gulp.dest(app.distPath+‘css/‘))
        .pipe(connect.reload())
});

/*合并js*/
gulp.task(‘js‘,function () {
    gulp.src(app.srcPath+‘js/**/*.js‘)
        .pipe(concat(‘index.js‘))
        .pipe(gulp.dest(app.buildPath+‘js/‘))
        .pipe(uglify())
        .pipe(gulp.dest(app.distPath+‘js‘))
        .pipe(connect.reload())
});

/*压缩图片*/
gulp.task(‘image‘,function () {
    gulp.src(app.srcPath+‘images/**/*‘)
        .pipe(gulp.dest(app.buildPath+‘images‘))
        .pipe(imagemin())
        .pipe(gulp.dest(app.distPath+‘images‘))
        .pipe(connect.reload())
});

/*同时执行多个任务 [其它任务的名称]
 * 当前bulid时,会自动把数组当中的所有任务给执行了。
 * */
gulp.task(‘build‘,[‘less‘,‘html‘,‘js‘,‘image‘,‘lib‘]);


/*定义server任务
 * 搭建一个服务器。设置运行的构建目录
 * */
gulp.task(‘server‘,[‘build‘],function () {
    /*设置服务器*/
    connect.server({
        root:[app.buildPath],//要运行哪个目录
        livereload:true,  //是否热更新。
        port:9999  //端口号
    })
    /*监听哪些任务*/
    gulp.watch(‘bower_components/**/*‘,[‘lib‘]);
    gulp.watch(app.srcPath+‘**/*.html‘,[‘html‘]);
    gulp.watch(app.srcPath+‘js/**/*.js‘,[‘js‘]);
    gulp.watch(app.srcPath+‘images/**/*‘,[‘image‘]);
    gulp.watch(app.srcPath+‘style/**/*.less‘,[‘less‘]);

    //通过浏览器把指定的地址 (http://localhost:9999)打开。
    open(‘http://localhost:9999‘);
});

/*定义默认任务
 * 直接执行gulp 会调用的任务
 * */
gulp.task(‘default‘,[‘server‘]);

 










gulp教程之静态资源压缩(代码片段)

...项目安装nodejs/全局安装gulp/本地安装gulp/创建package.json和gulpfile.js文件,项目目录如下:2压缩插件简介gulp-useref合并html里面的js/cssgulp-concat用于合并文件,把也就是多个文件合并到一个文件中,以节省存储空间gulp.spritesmith图片合... 查看详情

gulp的使用

...目本地会自动生成package.json配置文件4.在项目根目录创建gulpfile.js文件5,在gulpfile.js中写vargulp=require(‘gulp‘);//引入gulp 查看详情

gulp(gulpfile.js)配置文件

1/*2参考代码网址:3http://www.ido321.com/1622.html4http://colobu.com/2014/11/17/gulp-plugins-introduction/#gulp-rename5https://github.com/nimojs/gulp-book6*/7//获取gulp8vargulp=require(‘gulp‘),9//js压缩插件(用于压缩JS 查看详情

gulp简介gulp基本使用步骤gulp-cli工具gulpfile.js文件gulp插件(代码片段)

...a;1.使用npminstallgulp下载gulp库文件。2.在项目文件夹中新建gulpfile.js文件&# 查看详情

gulp教程之自动添加版本号(代码片段)

...项目安装nodejs/全局安装gulp/本地安装gulp/创建package.json和gulpfile.js文件,项目目录如下:2自动更改版本号插件简介gulp-rev为css文件中引入的图片或字体等添加hash编码gulp-asset-rev为js/css文件生成hash编码并生成rev-manifest.json文件名对... 查看详情

gulp

...:npminstall--save-devgulp3.在项目根目录下创建文件名字为:gulpfile.js4.配置当前gulpfile.js文件5.执行gulp测试语法:1.gulp.src:方法读取你需要操作的文件2.gulp.dest:方法用来写文件3.gulp.task:方法用来定义任务的4.gulp.watc 查看详情

前端自动化之项目搭建

1.先安装全局的gulp$npminstall--globalgulp2.npm初始化,在项目内创建package.json文件npminit3.项目文件路径下,将gulp安装到项目内。$npminstall--save-devgulp4.创建gulp主文件==》gulpfile.js 5.编写gulpfile.js测试代码:vargulp=require(‘gulp‘);gulp.ta 查看详情

gulp压缩js

...nodejs->全局安装gulp->项目安装gulp以及gulp插件->配置gulpfile.js->运行任务2、查看nodejs的版本号3、npm的版本号4、定位目标5、全局安装gulp6、新建package.json文件多了两个文件7、本地安装gulp插件8、新建gulpfile.js文件(重要)var... 查看详情

gulp配置版本号教程之gulp-rev-append

...。1、安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件1.1、gulp基本使用还未掌握?请参看: gulp详细入门教程1.2、本示例目录结构如下:2、本地安装gulp-rev-append2.1、github:https://github.com/ 查看详情

gulp构建工作流(代码片段)

gulp构建工作流以及gulpfile.js文件###步骤:1.命令行创建npm的配置文件a.npminit(这时候生成一个package.json的文件)2.添加一个gulp的依赖npminstallgulp--save-dev3.在项目根目录下添加一个gulpfile.js文件,这个是gulp的主文件,这个文件名是... 查看详情

gulp学习-gulpfile

...npminstallgulp--save-dev3、在项目根目录下创建一个名为 gulpfile.js 的文件vargulp=require( 查看详情

gulp的使用安装

...项目下安装)gulp的基本用法:建一个js文件并命名为 gulpfile.js ,把下面的代码粘贴进去:gulpfile.js//引入gulpvargulp=require(‘gulp‘) 查看详情

前端构建工具gulp.js你知多少..(webpack/gulp/grunt)

...起步照搬官网文档1.安装2.在项目根目录下创建一个名为gulpfile.js的文件:3.运行gulp:默认的名为default的任务(task)将会被运行,在这里,这个任务并未做任何事情。具体详情可以查看gulpjs.com文档新建一个项目gulp-test环境:1.新建... 查看详情

如果 gulp 安装在与 gulpfile.js 不同的文件夹中(node_modules),你如何运行 gulp

】如果gulp安装在与gulpfile.js不同的文件夹中(node_modules),你如何运行gulp【英文标题】:Howdoyourungulpifgulpisinstalled(node_modules)indifferentfolderthangulpfile.js【发布时间】:2015-11-2211:52:11【问题描述】:我在一个目录中有gulpfile.js,在另... 查看详情

glup快速入门整理(代码片段)

...建一个简单的应用gulp_test|-dist|-src|-js|-css|-less|-index.html|-gulpfile.js-----gulp配置文件|-package.json"name":"gulp_test","version":"1.0.0"安装gulp:全局安装gulpnpminstallgulp-g局部安装gulpnpminstallgulp--save-dev配置编码:gulpfile.js//引入gulp模块vargulp=require(‘g... 查看详情

gulp的使用方法

gulp的使用方法首先下载插件在gulpfile.js里面写‘搬运‘代码://得到gulp对象vargulp=require(‘gulp‘);//新建任务gulp.task(‘script‘,function(){//匹配gulp.src(‘./js/index.js‘).pipe(gulp.dest(‘./js/dist‘));//指定输出的**目录**});在gulpfile.js里面写... 查看详情

gulp的简单使用

...请先看看自己有没有安装nodejs)npminstall2、根据需求调节gulpfile.js(gulpfile.js如下,可根据需求删除与添加)//lastUpdateDate:2016.09.17//description:gulp是通过构建一个个任务机械化的帮我们完成重复性质的工作‘usestrict‘//在gulpfile中先... 查看详情

Gulp 循环配置文件和合并任务...慢

...lp和config.json文件自动执行我的js任务,因此我不需要打开gulpfile.js,而只需打开配置文件。我的代码看起来不错并且正在运行……但是Gulp在10秒内完成了任务!我正在寻找一种更快完成任务的方法。在配置文件中 查看详情