自动化构建工具之----gulp.js

本文介绍了如何使用gulp.js进行自动化构建,包括本地安装gulp,创建gulpfile.js文件,以及使用gulp-uglify压缩js,gulp-babel转译es6,gulp-clean-css压缩css,gulp-sass编译sass,和gulp-htmlmin压缩html等步骤。
摘要由CSDN通过智能技术生成

项目下使用gulp进行自动化构建

本地安装gulp
npm i gulp --save-dev
#或者
npm i gulp -D

检查是否安装成功:

gulp --version
创建gulpfile.js文件

在项目根目录下创建gulpfile.js

function defaultTask(cb) {
  // place code for your default task here
  cb();
}

exports.default = defaultTask
var gulp = require('gulp');
var less = require('gulp-less');
var babel = require('gulp-babel');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var cleanCSS = require('gulp-clean-css');
var del = require('del');
 
var paths = {
  styles: {
    src: 'src/styles/**/*.less',//原目录
    dest: 'assets/styles/'  //压缩后保存路径
  },
  scripts: {
    src: 'src/scripts/**/*.js',
    dest: 'assets/scripts/'
  }
};
 
/* Not all tasks need to use streams, a gulpfile is just another node program
 * and you can use all packages available on npm, but it must return either a
 * Promise, a Stream or take a callback and call it
 */
function clean() {
  // You can use multiple globbing patterns as you would with `gulp.src`,
  // for example if you are using del 2.0 or above, return its promise
  return del([ 'assets' ]);
}
 
/*
 * Define our tasks using plain functions
 */
function styles() {
  return gulp.src(paths.styles.src)
    .pipe(less())
    .pipe(cleanCSS())
    // pass in options to the stream
    .pipe(rename({
      basename: 'main',
      suffix: '.min'
    }))
    .pipe(gulp.dest(paths.styles.dest));
}
 
function scripts() {
  return gulp.src(paths.scripts.src, { sourcemaps: true })
    .pipe(babel())
    .pipe(uglify())
    .pipe(concat('main.min.js'))
    .pipe(gulp.dest(paths.scripts.dest));
}
 
function watch() {
  gulp.watch(paths.scripts.src, scripts);
  gulp.watch(paths.styles.src, styles);
}
 
/*
 * Specify if tasks run in series or parallel using `gulp.series` and `gulp.parallel`
 */
var build = gulp.series(clean, gulp.parallel(styles, scripts));
 
/*
 * You can use CommonJS `exports` module notation to declare tasks
 */
exports.clean = clean;
exports.styles = styles;
exports.scripts = scripts;
exports.watch = watch;
exports.build = build;
/*
 * Define default task that can be called by just running `gulp` from cli
 */
exports.default = build;
测试

在项目根目录下执行 gulp 命令:

gulp
gulp-uglify 插件

压缩js代码

安装:

npm i gulp-uglify -D

在gulpfile.js中配置

gulp-babel 插件

实现es6代码转译

npm install --save-dev gulp-babel@7 babel-core babel-preset-env 

在gulpfile.js配置

const babel=require('gulp-babel')
const scripts=
gulp-clean-css

压缩css

npm i gulp-clean-css -D
gulp-sass

实现sass文件编译

npm i node-sass gulp-sass@4 -D

在vscode用默认浏览器打开html文件,地址栏是file协议,有些功能受限,比如cookie

gulp-htmlmin

压缩html

npm install --save gulp-htmlmin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值