🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

console-class-browser

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

console-class-browser

This module implements the Node.js `console` module for browser environments.

latest
Source
npmnpm
Version
1.0.30
Version published
Maintainers
1
Created
Source

console-class-browser

简体中文
This module implements the Node.js console module for browser environments.
The motivation came from my attempt to simulate a shell in the frontend, where I found that console-browserify did not implement the Console class.
I originally considered submitting a PR, but the changes required would likely be extensive and might be rejected. Therefore, I spent a few hours rewriting this module.

Usage

The usage of this module is mostly the same as the Node.js standard library, with some minor differences.
A simple example (test.js):

const console = require("console-class-browser")

console.group("SIMPLE LOG")
  console.group("LOG")
    console.log("Hello %s", "World")
    console.info("Hello %s", "World")
    console.debug("Hello %s", "World")
    console.dirxml("Hello %s", "World")
    console.table("Hello %s", "World") // TODO
    console.warn("Hello %s", "World")
    console.groupEnd()
  console.group("ERROR")
    console.error("Bye %s", "Bug")
    console.trace("Bye %s", "Bug")
    console.groupEnd()
  console.groupEnd()

console.groupCollapsed("UTIL LOG")
  console.assert(true, "Hello %s", "World")
  console.time("Time")
  console.timeLog("Time")
  console.timeEnd("Time")
  console.count("Count")
  console.count("Count")
  console.countReset("Count")
  console.log({key: "value"}, "Hello", "World")
  console.dir(console.Console.prototype, {depth: 0})
  console.groupEnd()

Example using the Console class:

// If you have your own stdout or stderr
var myConsole = new console.Console(stdout, stderr)
myConsole.log("Hello World")

TIP: It is recommended that stdout and stderr be Node.js writable stream objects. In practice, they can be any object containing a write method. If you want to use console.clear, the stdout should also implement a clear method.

BrowserStdout and BrowserStderr (simulating stderr and stdout in the browser):

console.stdout // Pre-instantiated stdout
console.stderr // Pre-instantiated stderr
// You can also instantiate your own
var stdout = new console.BrowserStdout()
var stderr = new console.BrowserStderr()

This module implements the following methods (excluding details that differ from the console module):

  • label
  • info
  • warn
  • table
  • group
  • groupEnd
  • groupCollapsed
  • dirxml
  • trace
  • profile
  • profileEnd
  • timeStamp
  • debug
  • log
  • error
  • assert
  • clear
  • dir
  • count
  • countReset
  • time
  • timeLog
  • timeEnd
  • createTask
  • Console

Some methods are implemented as empty functions.

Thank you for reading. PRs are welcome!

consoleClass-browser

本模块实现了Nodejs的console模块)
起因是我在尝试在前端模拟shell时候发现console-browserify没有实现Console类
本来想提一个pr的,但是要我改的话可能就要大变动了,八成可能会被拒绝,因此我就花几个小时重写了这个模块

Usage

本模块用法与Node标准库基本相同,细节有不同
一个简单的示例(test.js)

const console = require("console-class-browser")

console.group("SIMPLE LOG")
  console.group("LOG")
    console.log("Hello %s", "World")
    console.info("Hello %s", "World")
    console.debug("Hello %s", "World")
    console.dirxml("Hello %s", "World")
    console.table("Hello %s", "World") // TODO
    console.warn("Hello %s", "World")
    console.groupEnd()
  console.group("ERROR")
    console.error("Bye %s", "Bug")
    console.trace("Bye %s", "Bug")
    console.groupEnd()
  console.groupEnd()

console.groupCollapsed("UTIL LOG")
  console.assert(true, "Hello %s", "World")
  console.time("Time")
  console.timeLog("Time")
  console.timeEnd("Time")
  console.count("Count")
  console.count("Count")
  console.countReset("Count")
  console.log({key: "value"}, "Hello", "World")
  console.dir(console.Console.prototype, {depth: 0})
  console.groupEnd()

Console类示例

// 如果你有自己的stdout或stderr
var myConsole = new console.Console(stdout, stderr)
myConsole.log("Hello World")

TIP: 建议stdout和stderr是一个nodejs的可写流对象,实际上可以是任何包含write方法的对象,如果希望console.clear还需要在stdout上实现clear方法

BrowserStdout和BrowserStderr(在浏览器上模拟stderr和stdout)

console.stdout // 已经实例化的stdout
console.stderr // 已经实例化的stderr
// 也可以自己实例化一个
var stdout = new console.BrowserStdout()
var stderr = new console.BrowserStderr()

本模块实现了以下方法(不包括与console模块不同的细节)

  • label
  • info
  • warn
  • table
  • group
  • groupEnd
  • groupCollapsed
  • dirxml
  • trace
  • profile
  • profileEnd
  • timeStamp
  • debug
  • log
  • error
  • assert
  • clear
  • dir
  • count
  • countReset
  • time
  • timeLog
  • timeEnd
  • createTask
  • Console

部分方法使用空函数实现

感谢阅读,欢迎pr补充)

Keywords

browserify

FAQs

Package last updated on 02 Dec 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts