使用gulp构建工具

之前一个demo中用的是grunt,照着grunt用到的插件找了下gulp的,总体使用还算顺畅,说实话并不觉得学习成本有降低什么的,差不多。不过也遇到一些问题:

1、gulp.dest()输出目录需要用"./"而不能"/"

2、gulp的jshint有些规则检测不到,而grunt却检测到了,可以用"asi": true测试下。(据说现在大家都用eslint代替jslint,看了下有eslint180条左右的规则,吓cry了好么。)

3、gulp任务有些执行完毕后不会有消息提示,而grunt的插件就友好很多。

gulp.task(‘uglify‘, [‘jshint‘], function() {//...}

package.json

{
  "name": "vip.uc108",
  "version": "0.1.0",
  "devDependencies": {
    "del": "^1.2.0",
    "gulp": "^3.9.0",
    "gulp-concat": "^2.6.0",
    "gulp-csscomb": "^3.0.6",
    "gulp-eslint": "^1.0.0",
    "gulp-file-include": "^0.13.7",
    "gulp-imagemin": "^2.3.0",
    "gulp-jshint": "^1.11.2",
    "gulp-livereload": "^3.8.0",
    "gulp-minify-css": "^1.2.0",
    "gulp-notify": "^2.2.0",
    "gulp-rename": "^1.2.2",
    "gulp-ruby-sass": "^1.0.5",
    "gulp-uglify": "^1.2.0"
  }
}

gulpFile.js

var gulp = require(‘gulp‘);

var sass = require(‘gulp-ruby-sass‘);
var csscomb = require(‘gulp-csscomb‘);
var fileinclude = require(‘gulp-file-include‘);
var imagemin = require(‘gulp-imagemin‘);
var jshint = require(‘gulp-jshint‘);
var livereload = require(‘gulp-livereload‘);
var cssmin = require(‘gulp-minify-css‘);
var notify = require(‘gulp-notify‘);
var uglify = require(‘gulp-uglify‘);
var rename = require(‘gulp-rename‘);

gulp.task(‘sass‘, function() {
    return sass(‘./static/introduce/scss‘, {
            style: "compressed"
        })
        .on(‘error‘, function(err) {
            console.error(‘Error!‘, err.message);
        }).pipe(gulp.dest(‘./static/introduce/css‘))
        .pipe(livereload({
            start: true
        }));
});

gulp.task(‘css‘, function() {
    return gulp.src([‘./static/activity/**/*.css‘, ‘!./static/activity/**/*min.css‘])
        .pipe(csscomb()).
    pipe(cssmin()).
    pipe(rename(function(path) {
            path.basename += ".min";
        }))
        .pipe(gulp.dest(‘./static/activity‘))
        .pipe(livereload({
            start: true
        }));
});

gulp.task(‘image‘, function() {
    gulp.src(‘static/activity/index/img/*‘)
        .pipe(imagemin())
        .pipe(gulp.dest(‘./static/activity/index/img‘));
});

gulp.task(‘jshint‘, function() {
    return gulp.src([‘./static/activity/**/*.js‘, ‘!./static/activity/**/*.min.js‘])
        .pipe(jshint(‘.jshintrc‘))
        .pipe(jshint.reporter(‘default‘));
});

gulp.task(‘uglify‘, [‘jshint‘], function() {
    return gulp.src([‘./static/activity/**/*.js‘, ‘!./static/activity/**/*.min.js‘])
        .pipe(uglify({
            ext: ".min.js"
        }))
        .pipe(rename(function(path) {
            path.basename += ".min";
        }))
        .pipe(gulp.dest(‘./static/activity/‘));
})

gulp.task(‘fileinclude‘, function() {
    return gulp.src(‘src/html/**/*.html‘).
    pipe(fileinclude({
        prefix: ‘@@‘,
        basepath: ‘@file‘
    })).pipe(gulp.dest(‘./view‘));
});

gulp.task(‘watch‘, function() {
    gulp.watch([‘./static/activity/**/*.js‘, ‘!./static/activity/**/*.min.js‘], [‘uglify‘]);
});

gulp.task(‘default‘, [‘image‘, ‘fileinclude‘], function() {
    gulp.src(‘package.json‘).pipe(notify("default finished"));
});

关于gulp插件,有空再试下这些~~

gulp-rev

gulp-concat

gulp-sourcemaps

gulp-connect

时间: 2024-10-09 06:57:35

使用gulp构建工具的相关文章

配置gulp构建工具(坤爷)

配置gulp构建工具 gulp是前端构建工具,相关项目可参考本文档配置gulp.代码部分是需要在命令行里执行的命令,如果提示权限相关问题(多为mac os),尝试以管理员重新执行命令,即命令前加上(注意后面有空格):sudo 1. 下载并安装nodejs(已安装过忽略本步骤) 2. 全局安装gulp(已安装过忽略本步骤) npm install gulp -g3. 安装node依赖 cd到项目根目录执行: npm install执行后将产生node_modules文件夹存放node的依赖模块wi

Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grunt和Gulp都在Visual studio 2015中得到支持.ASP.NET 项目模板默认使用Gulp. Grunt和Gulp Grunt和Gulp有什么区别?Gulp虽然是稍微晚一点登场的,但是它因crisp pe

ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grunt和Gulp都在Visual studio 2015中得到支持.ASP.NET 项目模板默认使用Gulp. Grunt和Gulp Grunt和Gulp有什么区别?Gulp虽然是稍微晚一点登场的,但是它因crisp performance和优雅的语法受到欢迎.与Grunt不同,Grunt往往在硬盘上是

gulp构建工具学习汇总

前端脚手架____gulp配置文件------- https://pan.baidu.com/s/1eSs7COy 1:有了package.json 直接 npm install自动下载相应的npm包 2:多个项目同时监听---开两个bash---改变gulp-live-server模块端口号 如果在同一个bash下构建多个项目 每次都要调整gulp任重中的目录地址 gulp构建任务一般项目中都很类似,开两个bash比较方便 单个项目目录结构 npm install 安装依赖包 解决window

gulp 构建工具

1. gulp 的简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率.gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试.检查.合并.压缩.格式化.浏览器自动刷新.部署文件生成,并监听文件在改动后重复指定的这些

gulp构建工具的安装与使用

自开园以来一直么有发过文章,今天来跟大家一起解读下gulp的使用 首先,咱们肯定先得安装gulp啊 在webstrom软件下打开命令行 这里肯定是要在NodeJS下运行环境 , npm是随着NodeJS一起安装的包管理工具,这里不做过做的说明了,只要下载安装NodeJS即可,言归正传,在命令行进行全局安装,之后再进行本地局部安装 如果软件左侧项目中出现这个gulp文件说明下载安装成功了~ 安装好了我们就可以使用它来为我们的文件进行合并压缩了 第一步:我们需要再命令行输入 npm init ,为我

web 环境搭建00前端自动化构建工具(gulp)

web 环境搭建----前端自动化构建工具(gulp): 1----先下载安装node.js 2----然后在node.js命令行安装:npm install gulp -g (全局下载安装gulp插件) 3----然后进入到项目文件夹(命令cd 文件夹名),在项目文件夹中安装依赖文件:npm install gulp --save-dev (根据依赖文件下载gulp插件) 4----在项目文件夹目录下初始化:npm init (初始化文件) {初始化文件后项目中会出现packgae.json文

Gulp:自动化构建工具

一.介绍: gulp是一个基于流的构建工具,可以自动执行指定的任务,简洁且高效 二.优点: 开发环境下,想要能够按模块组织代码,监听实时变化 css/js预编译,postcss等方案,浏览器前缀自动补全等 条件输出不同的网页,比如app页面和mobile页面 线上环境下,我想要合并.压缩 html/css/javascritp/图片,减少网络请求,同时降低网络负担 三.安装: 1.全局安装:cnpm install -g gulp 2.本地安装:cnpm install --save-dev g

记学习前端构建工具gulp的过程,略心酸

初学前端的时候就听过友人说,前端不好学,很多软件都是要自己下载安装插件的,当时是很不以为然的,不就是下载几个软件外加安装插件吗?!怎么会很难呢!后面才发现自己真的错了. 今天刚好准备好好看看前端构建工具gulp的使用,于是乎就各种上网查资料.刚开始的时候有点摸不着头脑,这个东西不是一个软件,拿来就用,需要自己配置环境,自己根据需求安装package,完全是自己DIY的一个工具. 下面就把整个安装过程,记录下来,方便以后查看吧. 先明确几个概念:1.gulp是基于node.js环境下工作的:2.命