安装
npm install --save-dev gulp-babel @babel/core @babel/preset-env
配置文件
// gulpfile.js
var gulp = require('gulp');
var babel = require('gulp-babel');
const uglify = require('gulp-uglify'); // 代码压缩 npm install --save-dev gulp-uglify
// js 任务
// 1. es6 代码转换
gulp.task('jsmin', () => {
gulp.src('./src/js/*.js')
.pipe(babel({
// 可以判断当前代码运行的环境 将代码转换为当前运行环境所支持的代码
presets: ['@babel/env']
}))
.pipe(gulp.dest('dist/js'))
})
gulp.task('jsmin2', () => {
gulp.src('./src/js/*.js')
.pipe(babel({
// 可以判断当前代码运行的环境 将代码转换为当前运行环境所支持的代码
presets: ['@babel/env']
}))
.pipe(uglify())
.pipe(gulp.dest('dist/js'))
})
测试
$ gulp jsmin
$
$ gulp jsmin2
取消babel的严格模式(“use strict”)
- 安装
@babel/plugin-transform-modules-commonjs
$ npm i @babel/plugin-transform-modules-commonjs -D
- gulpfile.js
...
gulp.task('jsmin', () => {
gulp.src('./src/js/*.js')
.pipe(babel({
// 可以判断当前代码运行的环境 将代码转换为当前运行环境所支持的代码
presets: ['@babel/env'],
"plugins": [
["@babel/plugin-transform-modules-commonjs", {"strictMode": false}]
]
}))
.pipe(gulp.dest('dist/js'))
})
...
- 重新构建
$ gulp jsmin
$
“devDependencies”: {
“@babel/core”: “^7.13.1”,
“@babel/plugin-transform-modules-commonjs”: “^7.13.0”,
“@babel/preset-env”: “^7.13.5”,
“gulp-babel”: “^8.0.0”,
}