美文网首页
gulp配置前端资源自动化 -- less编译 js压缩 图片压

gulp配置前端资源自动化 -- less编译 js压缩 图片压

作者: Top_Chenxi | 来源:发表于2017-03-24 11:43 被阅读95次

gulp配置前端资源自动化 -- less编译 js压缩 图片压缩

1.package.json 文件

{
  "name": "example-static",
  "version": "0.0.1",
  "description": "example-static",
  "author": "c.c.",
  "license": "ISC",
  "dependencies": {
    "gulp": "^3.9.1"
  },
  "devDependencies": {
    "del": "^2.2.2",
    "gulp-autoprefixer": "^3.1.1",
    "gulp-if": "^2.0.2",
    "gulp-imagemin": "^3.1.1",
    "gulp-less": "^3.3.0",
    "gulp-sourcemaps": "^2.4.1",
    "gulp-uglify": "^2.1.2",
    "gulp.spritesmith": "^6.4.0",
    "imagemin-pngquant": "^5.0.0",
    "run-sequence": "^1.2.2"
  }
}

2.gulpfile.js 文件

var gulp = require('gulp');
// 编译less
var less = require('gulp-less');
// 给css3属性添加浏览器前缀插件
var autoprefixer = require('gulp-autoprefixer');
// 删除文件插件
var del = require('del');
// 同步运行任务插件
var runSequence = require('run-sequence');
// 压缩js插件
var uglify = require('gulp-uglify');
var gulpIf = require('gulp-if');
var sourcemaps = require('gulp-sourcemaps');
// 压缩图片插件
var imagemin = require('gulp-imagemin');
// 压缩png图片的插件
var pngquant = require('imagemin-pngquant');
// 合成sprite图片插件
var spritesmith = require('gulp.spritesmith');

// 清空数据
gulp.task('clean:dist', function() {
    return del.sync('dist');
});

// 编译less
gulp.task('buildCss', function() {
    gulp.src(['static/seller/less/**/*.less'])
        .pipe(less())
        .pipe(gulp.dest('dist/seller/css'))
    gulp.src(['static/ec/less/**/*.less'])
        .pipe(less())
        .pipe(gulp.dest('dist/ec/css'))
});

// 压缩js插件
gulp.task('buildJs', function() {
    gulp.src(['static/seller/js/**/*.js'])
        .pipe(gulpIf('*.js', uglify()))
        .pipe(sourcemaps.write('maps'))
        .pipe(gulp.dest('dist/seller/js'));
});
// 图片压缩任务
gulp.task('buildImages', function() {
    gulp.src('static/seller/images/**/*.+(png|jpg|gif|svg)')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{ removeViewBox: false }],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('dist/seller/images'));
});
// 合并sprite图任务
gulp.task('sprite', function() {
    var spriteData = gulp.src('static/seller/images/CCoin/*.png')
        .pipe(spritesmith({
            imgName: 'images/CCoin/sprite.png',
            cssName: 'less/CCoin/sprite.less',
            cssFormat: 'less',
            padding: 10
        }));
    return spriteData.pipe(gulp.dest('dist/seller'))
});
// 默认执行任务
gulp.task('default', function(callback) {
    runSequence([
        'clean:dist',
        'buildCss',
        'buildJs',
        'buildImages',
        'sprite'
    ], callback);
})

3.安装模块

npm install

4.运行

glup

相关文章

  • gulp配置前端资源自动化 -- less编译 js压缩 图片压

    gulp配置前端资源自动化 -- less编译 js压缩 图片压缩 1.package.json 文件 2.gul...

  • 前端自动化工具|gulp新手入门

    gulp是前端自动化工具,它可以进行html压缩、css压缩合并、js检查压缩、图片压缩、编译less、编译...

  • gulp 工具入门指南

    gulp 是一款实用的前端自动化构建工具,能够自动执行编译 scss 和 less,压缩 html、css、js ...

  • gulp 和 webpack 的区别

      gulp 是自动化构建工具,可以配合各种插件做 js 压缩、css 压缩、less 编译、代码检查等,替代手工...

  • gulp vs webpack

    gulp是工具链、构建工具,可以配合各种插件做js压缩,css压缩,less编译 替代手工实现自动化工作 构建工具...

  • gulp和webpack的区别 // less和scss

    gulp是工具链、构建工具,可以配合各种插件做js压缩,css压缩,less编译 替代手工实现自动化工作1.构建工...

  • Gulp总结

    # gulp 前端自动化构建工具,可以进行文本合并,文件拷贝,js压缩,css压缩,图片压缩等。 ### 入门 1...

  • 前端工具

    在日常的前端开发中,我们会遇到 LESS/SASS 编译、CSS 前缀自动补全 、CSS 压缩、 图片压缩、JS ...

  • Gulp总结

    gulp 前端自动化构建工具,可以进行文本合并,文件拷贝,js压缩,css压缩,图片压缩等。 入门 全局安装 gu...

  • gulp浅显易懂的入门

    gulp是什么? gulp是工具链、构建工具,可以配合各种插件做js压缩,css压缩,less编译 替代手工实现自...

网友评论

      本文标题:gulp配置前端资源自动化 -- less编译 js压缩 图片压

      本文链接:https://www.haomeiwen.com/subject/iyaxottx.html