fundebug php,import提升导致Fundebug报错的解决方法(详细)

本篇文章给大家带来的内容是关于import提升导致Fundebug报错的解决方法(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

摘要: 解释一下“请配置apikey”报错的原因。

部分Fundebug用户使用import来导入js文件时,出现了"请配置apikey"的报错,这是由于import提升导致的,下面我会详细解释一下这一点。

import提升

关于import提升,我们可以参考阮一峰的《ECMAScript 6 入门》。

import命令具有提升效果,会提升到整个模块的头部,首先执行。foo();

import { foo } from 'my_module';

上面的代码不会报错,因为import的执行早于foo的调用。这种行为的本质是,import命令是编译阶段执行的,在代码运行之前。

因此,即使我们把import语句写在后面,它仍然会在其他语句之前执行。

import提升为何导致Fundebug报错?

Fundebug用户应该清楚,在接入fundebug-javascript插件之后,需要配置apikey,如下:import * as fundebug from "fundebug-javascript";

fundebug.apikey = "API-KEY";

假设我们还需要import一个test.js文件,这个文件会抛出一个Error,如下:// test.js

throw new Error("test")

一切看起来没有问题:// main.js

import * as fundebug from "fundebug-javascript";

fundebug.apikey = "API-KEY";

import "./test"

但是,根据import提升,代码的实际执行顺序如下:// main.js

import * as fundebug from "fundebug-javascript";

import "./test"

fundebug.apikey = "API-KEY";

这种情况下,第二行代码就会抛出错误,导致apikey复制语句不会执行,从而导致报错:“请配置apikey”。

这个问题并不需要解决

出于测试的目的,用户会去import一个立即报错的js文件,类似于前文提到的test.js。但是实际开发中,我们不可能这样做,否则应用会立即崩溃,更谈不上部署了。

我们写这篇博客的目的仅仅是解释一下原因,并分享一个非常简单的知识点“import提升”。

如何规避这个问题?

仅供参考,实际上没有必要这样做。

新建一个配置文件config.js,在这个文件中配置apikey:fundebug.apikey = "API-KEY";

import配置文件:// main.js

import * as fundebug from "fundebug-javascript";

import "./config"

import "./test"

这种情况下,配置apikey的语句被import代替了,也就不存在所谓"import提升"的问题,Fundebug将可以正常报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值