> 웹 프론트엔드 > JS 튜토리얼 > 수입 프로모션으로 인해 Fundebug에서 보고한 오류에 대한 해결 방법(세부 사항)

수입 프로모션으로 인해 Fundebug에서 보고한 오류에 대한 해결 방법(세부 사항)

不言
풀어 주다: 2019-02-28 11:35:57
앞으로
2959명이 탐색했습니다.

이 기사의 내용은 수입 프로모션으로 인해 발생하는 Fundebug 오류에 대한 해결 방법(세부 사항)입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

요약: "APIkey를 구성하세요" 오류의 원인을 설명하세요.

일부 Fundebug 사용자가 import를 사용하여 js 파일을 가져올 때 "APIkey를 구성하세요"라는 오류 메시지가 나타납니다. 이는 가져오기 프로모션으로 인해 발생합니다.

import 개선

가져오기 개선에 대해서는 Ruan Yifeng의 "ECMAScript 6 소개"를 참조할 수 있습니다.

import 명령은 리프팅 효과가 있어 전체 모듈의 선두로 승격되어 먼저 실행됩니다.

foo();

import { foo } from 'my_module';
로그인 후 복사

위 코드는 foo가 호출되기 전에 import가 실행되기 때문에 오류를 보고하지 않습니다. 이 동작의 핵심은 코드가 실행되기 전 컴파일 단계에서 import 명령이 실행된다는 것입니다.

따라서 import 문을 마지막에 작성하더라도 다른 문보다 먼저 실행됩니다.

가져오기 승격으로 인해 Fundebug가 오류를 보고하는 이유는 무엇입니까?

Fundebug 사용자는 fundebug-javascript 플러그인에 액세스한 후 다음과 같이 apikey를 구성해야 한다는 점을 알아야 합니다.

import * as fundebug from "fundebug-javascript";
fundebug.apikey = "API-KEY";
로그인 후 복사

test.js 파일을 사용하면 이 파일은 다음과 같은 오류를 발생시킵니다.

// test.js
throw new Error("test")
로그인 후 복사

모든 것이 괜찮아 보입니다.

// main.js
import * as fundebug from "fundebug-javascript";
fundebug.apikey = "API-KEY";
import "./test"
로그인 후 복사

그러나 import Promotion, 실제 코드 실행 순서는 다음과 같습니다.

// main.js
import * as fundebug from "fundebug-javascript";
import "./test"
fundebug.apikey = "API-KEY";
로그인 후 복사

이 경우 코드의 두 번째 줄에서 오류가 발생하여 apikey 복사 문이 실행되지 않고 결과적으로 오류: "apikey를 구성하십시오".

이 문제는 해결될 필요가 없습니다

테스트 목적으로 사용자는 위에서 언급한 test.js와 유사하게 즉시 오류를 보고하는 js 파일을 가져옵니다. 그러나 실제 개발에서는 이를 수행하는 것이 불가능합니다. 그렇지 않으면 배포는커녕 애플리케이션이 즉시 중단될 것입니다.

이 블로그를 쓰는 목적은 단지 그 이유를 설명하고 "수입 판촉"이라는 아주 간단한 지식 포인트를 공유하는 것입니다.

이 문제를 우회하는 방법은 무엇인가요?

참고용으로 실제로는 이렇게 할 필요가 없습니다.

새 구성 파일 만들기 config.js, 이 파일에 apikey 구성:

fundebug.apikey = "API-KEY";
로그인 후 복사

구성 파일 가져오기: #🎜 🎜#

// main.js
import * as fundebug from "fundebug-javascript";
import "./config"
import "./test"
로그인 후 복사
이 경우 apikey를 구성하는 문이 가져오기로 대체되므로 소위 "가져오기 승격" 문제가 없으며 Fundebug에서는 정상적으로 오류를 보고합니다.

위 내용은 수입 프로모션으로 인해 Fundebug에서 보고한 오류에 대한 해결 방법(세부 사항)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿