console
개체를 덮어 쓰려고합니다 . 잘 작동하는 것 같습니다. 사용하려면 아래 코드를 파일에 저장 한 다음 가져 와서 프록시 개체를 덮어 쓴 다음 정상적으로 사용합니다.
(이 작업에는 바벨 트랜스 파일이 필요 Proxy
하며 IE 11과 같은 JavaScript 생성자를 지원하지 않는 환경에서는 작동하지 않습니다 .)
import console from './console-shadow.js'
console.log(...)
console.warn(...)
console.error(...)
const overwrites = ['log', 'warn', 'info', 'error']
export default new Proxy(
{},
{
get: (obj, prop) =>
prop in obj
? obj[prop]
: overwrites.includes(prop)
? (...args) => console[prop].call(console, new Date(), ...args)
: console[prop],
}
)
기본적으로 콘솔 개체를 JavaScript 프록시 개체로 덮어 씁니다. 당신이 호출 할 때 .log
, .warn
당신이 호출하는 함수의 경우는 모든 매개 변수 다음에 첫 번째 매개 변수로 로그 문에 날짜를 삽입합니다 그렇다면, 등을 덮어 콘솔, 확인합니다.
나는 그 console
물체가 실제로 많은 일을 한다고 생각하며 완전히 이해하지 못합니다. 나는 그래서 단지 절편 console.log
, console.info
, console.warn
, console.error
호출합니다.