代码逻辑
创建两个文件
读入final_file并将其内容放入finaldata
将finaldata进行处理,将其引入的src_file文件抽出
读入src_file,并将其值赋给finaldata
再将finaldata写入final_file
var fs = require('fs');
var finalData;
var arrayFile =[];
var arrayStr=[];
fs.writeFile('src_file.js', 'fsdfsdfwsffffffffffffffffffffffffffffff', function(err, fd) {
console.log('create newe new_file');
});
fs.writeFile('final_file.js', '__inline("src_file.js")', function(err, fd) {
console.log('create newe new_file');
});
fs.readFile('final_file.js', 'utf8', function(err, data) {
var finalData = data;
arrayFile = findInlineArray(data);
for(var i in arrayFile){
fs.readFile(arrayFile[i],"utf8",function(err, fd) {
finalData = fd;
fs.writeFile('final_file.js', finalData, function(err, fd) {
console.log('success');
});
});
}
function findInlineArray(data) {
var arrayFile = [];
var patt = /(__inline\(['"]).*(?=['"]\))/;
//但是这样的写法只能匹配出现一个inline的情况,
//需要改进
var result = patt.exec(data)[0].replace(patt.exec(data)[1],'');
var tempReadFile;
arrayFile.push(result);
return arrayFile;
}
});
不介意用同步的话可以这样。
不喜欢同步的话,可以这样