gulp es5语法转换及js/css/html压缩过程

1.在对应的目录安装:javascript

若是没有安装gulp,先安装gulpcss

//全局安装gulp
npm install -g gulp
//项目中安装gulp
npm install --save-dev gulp
 若是已经安装gulp,可无视上面直接安装下面.

npm install gulp-babel --save-dev
npm install @babel/core@^7.0.0 --save-dev
npm install babel-preset-env --save-dev
 2.在项目目录新建文件

.babelrc 

{
  "presets": ["env"]
}
 3.若是没有gulpfile.js,新建这个文件,复制下面的代码:

// 获取 gulp
var gulp = require('gulp');
// 获取babel模块
var babel = require('gulp-babel');
 
/*这里的babal是任务名,能够修改成其余turn ,change 都行,执行的时候在命令行输入 gulp turn 或者 gulp change就好了*/
gulp.task("babel", function () {
  return gulp.src("./src/*.js")// ES6 源码存放的路径
    .pipe(babel()) 
    .pipe(gulp.dest("dist")); //转换成 ES5 存放的路径
});
 4.在命令行输入 gulp babel 就能将es6转成es5啦

下面是例子:
一.例子的目录html

package.json 的内容java

{
  "devDependencies": {
    "@babel/core": "^7.3.4",
    "@babel/preset-es2015": "^7.0.0-beta.53",
    "gulp": "3.9.1",
    "gulp-babel": "^8.0.0",
    "gulp-clean-css": "^4.0.0",
    "gulp-htmlmin": "^5.0.1",
    "gulp-uglify": "^3.0.2",
    "pump": "^3.0.0"
  }
}

.babelrc 文件的内容node

{
  "presets": ["env"]
}

gulpfile.js 的文件内容:es6

var gulp = require('gulp');
var cleanCSS = require('gulp-clean-css');
var htmlmin = require('gulp-htmlmin');
var uglify = require('gulp-uglify');
var pump = require('pump');
var babel = require('gulp-babel');

var kBuildDir = process.env.BUILD_DEST || 'build';
var cwd = __dirname;

gulp.task('default', ['babel','js','css','html']);

gulp.task('css', () => {
    const regs = [`${kBuildDir}/**/*.css`, `!${kBuildDir}/**/*-min.css`];
    return gulp.src(regs, { base: '.' })
        .pipe(cleanCSS())
        .pipe(gulp.dest(cwd));
});
gulp.task('babel', () => {
    const regs2 = [`${kBuildDir}/**/*.js`, `!${kBuildDir}/**/*-min.js`];
   return gulp.src(regs2,{base:'.'})
        .pipe(babel()).on('error',function(e){console.log(e);})
        .pipe(gulp.dest(cwd));
});

gulp.task('js', () => {
    const regs2 = [`${kBuildDir}/**/*.js`, `!${kBuildDir}/**/*-min.js`];
   return gulp.src(regs2,{base:'.'})
        .pipe(uglify()).on('error',function(e){console.log(e);})
        .pipe(gulp.dest(cwd));
});

gulp.task('html', () => {
  const regs = [`${kBuildDir}/**/*.html`, `!${kBuildDir}/**/*-min.html`];

  return gulp.src(regs, { base: '.' })
    .pipe(htmlmin({ collapseWhitespace: true, removeComments: true, minifyJS: true, minifyCSS: true }))
    .pipe(gulp.dest(cwd));
});

在项目根目录可单个执行:gulp babel,gulp js。也能够执行执行gulp,直接执行方式会使用default命令,即会将default命令列表中的命令顺序执行。npm

gulpfile.js里面有个模块须要手动安装一下:json

npm install gulp-clean-css
npm install gulp-htmlmin
npm install gulp-uglify
npm install pump
npm install gulp-babel

要先安装node.js,安装完以后在demo的目录里输入npm init 看不到不要紧,无脑回车就行了gulp

相关文章
相关标签/搜索