最近项目决定用ES6语法重构,于是引入了gulp-babel去编译ES6。
问题来了,babel编译ES6会自动添加"use strict"在js文件的最前面,这就导致之前的项目文件很多都报错。
因为之前的代码都编写的比较随意,比如var忘了加,还有一些严格模式中不准使用的语法,比如arguments.callee就被禁止使用。
最原始的取消严格模式的方法就是用replace(‘"use strict"‘)去替换每个文件中的"use strict",但这个效率太低了,而且不排除网页中可能出现这个字符串。
其实有一个插件,叫gulp-remove-use-strict,看名字就知道咯 。
用法和普通的插件一样:
var removeUseStrict = require("gulp-remove-use-strict"); gulp.src("./src/*.js") .pipe(removeUseStrict()) .pipe(gulp.dest("./dist"));
这个问题烦了我一个上午,没想到一个插件就搞定了。
时间: 2024-10-12 00:45:28