还是先把问题列出来,让问题来驱动探索:
微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?
首先分析了一下源码,日志目录应该同NW.JS的应用目录相关,,,查查查,,一直查到NW.JS的C++源码,搞得太复杂,大概知道位置,但还是不确切.
决定不往这条线找,换另一条路:
把日志文件修改输出到我指定目录,再把原来目录输出出来.
修改了这个文件,其实只修改了一句代码.其它代码作了些命名重构和格式化处理,看起来好看些.//app/dist/common/log/log.js
function init() { var _log, fs = require('fs'), log = require('log'), path = require('path'), dirConfig = require('../../config/dirConfig.js'), // logPath = dirConfig.WeappLog, logPath = 'D:/develop/wxapplet_devtool/log/', //dxb20161111 为方便,这儿暂时写死 a = 10; if (global.isDev || process.execPath.match('nw.exe') || process.execPath.match('nwjs.app')) _log = console; else { var n = JSON.parse(localStorage.logFiles || '[]'), date = new Date, logName = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + '-' + date.getHours() + '-' + date.getMinutes() + '-' + date.getMilliseconds() + '.log', logFilename = path.join(logPath, logName); if (n.length > a) { var p = n.shift(); fs.unlink(p, function() {}) } n.push(logFilename), localStorage.setItem('logFiles', JSON.stringify(n)), _log = new log('info', fs.createWriteStream(logFilename)) } _exports = _log } var _exports; init(), module.exports = _exports; |
然后就用它找找我想需要的东西吧,,比如说,,之前说的日志与配置文件夹不好找....我就用日志文件把它输出来...:
//app/dist/utils/tools.js 约40行处,(位置与变量名可能不一样,我手工重构过) getAppConfig: function() { var dataPath = nw.App.getDataPath(), configPath = path.join(dataPath, '..', 'config.json'), appCfg = { isDev: !!process.execPath.match('nw.exe') || !!process.execPath.match('nwjs.app') }, hasConfig = fs.existsSync(configPath); log.info('[MY DEBUG]dataPath=' + dataPath); //加上这么一句.. |
好了,现在打开微信小程序工具一运行..看见有日志在指定目录生成了...我知道答案了:
C:Users(这儿是WINDOWS登录用户名)AppDataLocal微信web开发者工具User Data以下为几个目录: 基本的数据目录
C:Users(这儿是WINDOWS登录用户名)AppDataLocal微信web开发者工具User Data
日志目录
C:Users(这儿是WINDOWS登录用户名)AppDataLocal微信web开发者工具User DataWeappLog
项目列表
C:Users(这儿是WINDOWS登录用户名)AppDataLocal微信web开发者工具User DataWeappProject
内容是JSON文件,,,可以文本编辑或者程序处理JSON格式..
开发环境中小程序运行存储的数据
C:Users(这儿是WINDOWS登录用户名)AppDataLocal微信web开发者工具User DataWeappStorage
........
其它目录有兴趣的朋友自己研究吧...