Angular에서 프로덕션 빌드를 위해 console.log를 비활성화하는 가장 간단한 방법은 무엇입니까?
1714 단어 angular
이러한 콘솔 기능은 사용자가 이해할 수도 있고 이해하지 못할 수도 있는 브라우저 콘솔에 인쇄된 많은 것을 볼 수 있으므로 프로덕션에서 압도적입니다. 때때로 주니어 개발자는 잠재적인 보안 위험을 유발할 수 있는 중요한 것을 콘솔에 남길 수 있습니다.
따라서 프로덕션에 콘솔을 사용해서는 안 됩니다. 다음과 같이 프로덕션에서 콘솔을 비활성화할 수 있는 다양한 방법이 있습니다.
이 게시물에서는 프로덕션 단계에서 콘솔을 비활성화하는 서비스를 만드는 방법을 단계별로 살펴보겠습니다.
프로젝트에 서비스를 추가합니다. ConsoleToogleService라고 합니다. 서비스에서는 모든 콘솔 기능을 무효화합니다. 따라서 서비스는 아래와 같아야 합니다.
import { Injectable } from '@angular/core';
import { environment } from 'src/environments/environment';
@Injectable({
providedIn: 'root'
})
export class ConsoleToggleService {
constructor() {
}
disableConsoleInProduction(): void {
if(environment.production){
console.warn(`🚨 Console output is disabled on production!`);
console.log = function():void{};
console.debug = function():void{};
console.warn = function():void{};
console.info = function():void{};
}
}
}
서비스에서 disableConsoleInProduction()이라는 함수를 볼 수 있습니다. 이 기능 내에서 모든 콘솔 기능을 무효화하고 있습니다. 이렇게 간단합니다.
이제 AppComponent에서 이 서비스를 주입하고 아래와 같이 생성자에서 함수를 호출합니다.
constructor(private consoleToggleService : ConsoleToggleService){
this.consoleToggleService.disableConsoleInProduction();
}
프로덕션용 애플리케이션을 빌드하면 콘솔이 없습니다. 그러나 개발 콘솔은 평소와 같이 작동합니다.
이 게시물이 도움이 되었기를 바랍니다. 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(Angular에서 프로덕션 빌드를 위해 console.log를 비활성화하는 가장 간단한 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/debug_mode/the-simplest-way-to-disable-consolelog-for-production-build-in-angular-1h1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)