vr-shopxo-source/sourcecode/qq/default/wx2qq.js

97 lines
3.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var fs = require('fs');
var path = require('path');
// 把所有的后缀都改成ttss以及ttml
function fileDisply( filePath ){
fs.readdir(filePath,function(err,files){
if(err){
console.warn(err)
}else{
//遍历读取到的文件列表
files.forEach(function(filename){
//获取当前文件的绝对路径
var filedir = path.join(filePath,filename);
//根据文件路径获取文件信息返回一个fs.Stats对象
fs.stat(filedir,function(eror,stats){
if(eror){
console.warn('获取文件stats失败');
}else{
var isFile = stats.isFile();//是文件
var isDir = stats.isDirectory();//是文件夹
if(isFile){
console.log(filedir);
var regcss = /(wxss)$/;
var regswan = /(wxml)$/
var regjs = /(js)$/
//如果是wxss则转成qss
if( regcss.test( filedir ) ){
fs.rename( filedir, filedir.replace(regcss,'qss'), function(err){
if(err){
console.error(err);
return;
}
})
}
// 如果是swan的文件转成qml
if( regswan.test( filedir ) ){
let callback = function(){
fs.rename( filedir, filedir.replace(regswan,'qml'), function(err){
if(err){
console.error(err);
return;
}
})
}
amendText( filedir ,callback )
}
// 如果是js文件则将所有的swan转成qq
if( regjs.test( filedir ) ){
amendSwanToTT( filedir )
}
}
if(isDir){
fileDisply(filedir);//递归,如果是文件夹,就继续遍历该文件夹下面的文件
}
}
})
})
}
})
}
fileDisply( path.resolve( __dirname ))
function amendText( path ,callback){
fs.readFile(path,'utf8',function(err,files){
console.log(err,files)
var result = files.replace(/wx:for/g,'qq:for')
.replace(/wx:if/g,'qq:if')
.replace(/wx:for-item/g,'qq:for-item')
.replace(/wx:for-index/g,'qq:for-index')
.replace(/wx:key/g,'qq:key')
.replace(/wxs/g,'qs');
fs.writeFile( path, result, 'utf8', function (err) {
if (err) return console.log(err);
callback()
});
})
}
function amendSwanToTT( path ){
fs.readFile(path,'utf8',function(err,files){
console.log(err,files)
var result = files.replace(/wx\./g,'qq.');
fs.writeFile( path, result, 'utf8', function (err) {
if (err) return console.log(err);
});
})
}
// test
//amendSwanToTT(path.resolve( __dirname +'/app.js' ))