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

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

不言
不言앞으로
2019-02-28 11:35:572958검색

이 기사의 내용은 수입 프로모션으로 인해 발생하는 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으로 문의하시기 바랍니다. 삭제