为什么用gulp把多个js文件合并压缩后,再直接引入页面就报错了

JavaScript013

为什么用gulp把多个js文件合并压缩后,再直接引入页面就报错了,第1张

合并成一个JS文件之后,代码的作用域扩大,难免会造成冲突。找到报错的代码所在位置,找到原JS文件修改下。

举个例子:a.js 中有var foo = 1b.js 中也有 var foo = 10 那么合并之后就会有两个 foo 变量, 这样一来在新的js文件中,foo的值就是写在后面的一个,而恰好后面的值会冲突报错。

因此,在合并之前需要确定每个js文件都能正常工作,而且没有函数、变量上的冲突。

gulp-cheerio 差=插件可以

gulp.task('indexHtml', function() {

return gulp.src('index.html')

.pipe(cheerio(function ($) {

$('script').remove()

$('link').remove()

$('body').append('<script src="app.full.min.js"></script>')

$('head').append('<link rel="stylesheet" href="app.full.min.css">')

}))

.pipe(gulp.dest('dist/'))

})