【发布时间】:2017-09-28 04:01:59
【问题描述】:
我需要重构一堆像这样调用的文件
define(['module1','module2','module3' etc...], function(a, b, c etc...) {
//bunch of code
return Something;
});
到
var a = require('module1');
var b = require('module2');
var c = require('module3');
//bunch of code
module.exports = Something;
看起来是一个非常简单的任务,99% 的代码都遵循这种模式,但我就是不能使用正则表达式,因为我无法用它来平衡括号。
我已经弄清楚了文件遍历,在一项繁重的任务中,我只需要转换文件并将其写回。
grunt.registerTask('refactor', '', function() {
//traverse all files
grunt.file.recurse('./src/js/views', function callback(abspath, rootdir, subdir, filename) {
var c;
//only care about .js files
if(filename.match(/\.js$/)){
console.log(subdir, filename);
c = grunt.file.read(abspath); //read file
//modify it
c = c + "\n/* Comment appended! */";
grunt.file.write(abspath, c); //write it back
}
});
grunt.log.write("DONE").ok();
});
这是一个一次性的工作,所以我正在寻找一个快速n-dirty的解决方案,无论如何我必须手动检查所有文件,我只是想节省一些时间。
【问题讨论】:
标签: javascript webpack gruntjs requirejs refactoring