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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.在对应的目录安装:

如果没有安装gulp,先安装gulp

//全局安装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啦

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

gulp es5语法转换及js/css/html压缩过程_第1张图片

package.json 的内容

{
  "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 文件的内容

{
  "presets": ["env"]
}

gulpfile.js 的文件内容:

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命令列表中的命令顺序执行。

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

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 看不到没关系,无脑回车就好了

转载于:https://my.oschina.net/u/2391658/blog/3024745

你可能感兴趣的:(gulp es5语法转换及js/css/html压缩过程)