import提高致使Fundebug报错:“请配置apikey”

摘要: 解释一下“请配置apikey”报错的缘由。javascript

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

import提高

关于import提高,咱们能够参考阮一峰的《ECMAScript 6 入门》es6

import命令具备提高效果,会提高到整个模块的头部,首先执行。npm

foo();

import { foo } from 'my_module';

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

所以,即便咱们把import语句写在后面,它仍然会在其余语句以前执行微信小程序

import提高为什么致使Fundebug报错?

Fundebug用户应该清楚,在接入fundebug-javascript插件以后,须要配置apikey,以下:api

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将能够正常报错。

最后,感谢Fundebug用户龙哥的反馈和协助!

参考

关于Fundebug

Fundebug专一于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎你们免费试用

版权声明

转载时请注明做者Fundebug以及本文地址: https://blog.fundebug.com/2019/02/26/import-cause-fundebug-apikey-error/

相关文章
相关标签/搜索