前端小技巧
软件开发
2019年2月10日

将console.log日志输出到页面

# vue.js 代码
# 1\. 在mounted中初始化loggerMan
# 2\. 在data中定义 {log_list: []}
# 使用console.log时会将日志unshift到log_list,在页面展示log_list即可

loggerMan () {
  var old = console.log
  // var logger = document.getElementById('log')
  let self = this
  console.log = function (message) {
    if (typeof message === 'object') {
      message = JSON && JSON.stringify ? JSON.stringify(message) : message
    }
    if (message.indexOf('采集日志') !== -1) {
      self.log_list.unshift(chalk.blue(message))
    }
    if (self.log_list.length === 0) {
      self.log_list.unshift(chalk.blue('还没有产生采集日志.'))
    }
    old(chalk.blue(message))
  }
}

js模拟键盘输入

function DoHelp(el, character) {
    var e = new KeyboardEvent("keydown", { bubbles: true, cancelable: true, key: character, char: character, shiftKey: true, keyCode: character.charCodeAt(0) });
    el.dispatchEvent(e)
}

vscode配置

{
      // vscode默认启用了根据文件类型自动设置tabsize的选项
    "editor.detectIndentation": false,
    // 重新设定tabsize
    "editor.tabSize": 2,
    // #每次保存的时候自动格式化 
    "editor.formatOnSave": true,
    // #每次保存的时候将代码按eslint格式进行修复
    "eslint.autoFixOnSave": true,
    // 添加 vue 支持
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        {
            "language": "vue",
            "autoFix": true
        }
    ],
    //  #让prettier使用eslint的代码格式进行校验 
    "prettier.eslintIntegration": true,
    //  #去掉代码结尾的分号 
    "prettier.semi": false,
    //  #使用带引号替代双引号 
    "prettier.singleQuote": true,
    //  #让函数(名)和后面的括号之间加个空格
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
    // #这个按用户自身习惯选择 
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    // #让vue中的js按编辑器自带的ts格式进行格式化 
    "vetur.format.defaultFormatter.js": "vscode-typescript",
    "vetur.format.defaultFormatterOptions": {
        "js-beautify-html": {
            "wrap_attributes": "force-aligned"
            // #vue组件中html代码格式化样式
        }
    },
    // 格式化stylus, 需安装Manta's Stylus Supremacy插件
    "stylusSupremacy.insertColons": false, // 是否插入冒号
    "stylusSupremacy.insertSemicolons": false, // 是否插入分好
    "stylusSupremacy.insertBraces": false, // 是否插入大括号
    "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
    "stylusSupremacy.insertNewLineAroundBlocks": false // 两个选择器中是否换行
}

最后修改于: 2023年8月9日 17:05