LOGO

利用gulp打包------解决ES6代码打包出错问题


在项目中使用gulp对源码及项目进行压缩和打包是很常见的做法,但是实际中可能会遇见uglify执行出错的问题,本文只针对由于项目中使用ES6语法而造成uglify失败的问题。

解决这个问题主要是借助于babel。直接上操作流程。

解决这个问题主要是借助于babel。直接上操作流程。

1、全局安装babel。使用命令 npm install -g babel 和npm install -g babel-cli

2、本地安装gulp-babel。 npm install –save-dev gulp-babel

3、安装babel 辅助插件。 npm install –save-dev babel-preset-env

4、安装babel 辅助插件。 npm install –save-dev babel-core babel-preset-es2015

5、在项目根目录创建文件。.babelrc文件。文件内容

1
2
3
4
5
6
{
"presets": [
"es2015"
],
"plugins": []
}

6、修改gulpfile.js.关键代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
babel = require('gulp-babel');
rename = require('gulp-rename');


// 压缩 js 文件
gulp.task('jscompress', function() {
return gulp.src('src/script/*.js')
.pipe(babel())
.pipe(uglify())
.pipe(rename({suffix:'.min'}))
.pipe(gulp.dest('dist/script/'))
;
});

gulp.task('default',['jscompress']);

7、这时候运行即可gulp task即可。

但是,你有可能执行任务失败,提示找不到babel-core库,不管你怎么安装都不行。这时候请检查使用的插件版本是否配套。贴出我的版本,如果版本问题,请 npm uninstall 库 重新 npm install 库@版本即可。

1
2
3
4
5
6
7
8
9
10
11
{
"devDependencies": {
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1",
"gulp": "^3.9.1",
"gulp-babel": "^7.0.1",
"gulp-rename": "^1.4.0",
"gulp-uglify": "^3.0.1"
}
}

文章作者: 68HTML
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 68HTML !
  目录