官网构建优化流程(8) - gulp打包构建在ie8会报错

原因

用gulp打包之后,后面发现在ie8下会报错。原因是 framework.min.js 的一个错误。 后面发现是因为在进行 uglify 打包的时候,在ie8下会有问题。

解决

后面查了一下,在用 uglify 压缩js的时候,加上这个配置就可以了

1
2
3
4
5
{    
compress: { screw_ie8: false },
mangle: { screw_ie8: false },
output: { screw_ie8: false }
}

所以后面这个构建的任务就改成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gulp.task('useref', function(){
return gulp.src(global.config.htmlFiles.map(item => {
return `${global.config.workDir}/${item}`
}), {base: './html'})
//gulp.src(`${global.config.workDir}/${global.config.langDir}/**/*.html`)
.pipe(useref({searchPath: "."}))
// Minifies only if it's a CSS file
.pipe(gulpIf('*.css', minifyCSS()))
.pipe(gulpIf('*.css', autoprefixer()))
// Uglifies only if it's a Javascript file
.pipe(gulpIf('*.js', uglify({
compress: { screw_ie8: false },
mangle: { screw_ie8: false },
output: { screw_ie8: false }
})))
// 这时候生成的html文件会在 build/<version>/workspace/html 里面,这个是临时的,后面要去掉
.pipe(gulp.dest(global.config.buildVersionDir))
});

这样就 ok了。


系列文章
官网构建优化流程(1) - 简介
官网构建优化流程(2) - 旧版grunt打包构建流程
官网构建优化流程(3) - grunt静态页面预编译插件 grunt-staticfy
官网构建优化流程(4) - gulp 静态页面预编译插件 gulp-staticfy
官网构建优化流程(5) - gulp jst模板联合组件 gulp-concat-js
官网构建优化流程(6) - 把原先的grunt换成gulp构建
官网构建优化流程(7) - 官网的多语言跳转规则
官网构建优化流程(8) - gulp打包构建在ie8会报错
官网构建优化流程(9) - windows 下打zip包到服务器没有执行权限的问题
官网构建优化流程(10) - gulp-staticfy进行多语言预编译的时候,会随机出现乱码
官网构建优化流程(11) - 部署转为用Jenkins自动化部署
官网构建优化流程(12) - 优化加载速度,资源分开存放
官网构建优化流程(13) - 字体文件的跨域问题 和 S3/CloudFront/COS 设置跨域CORS