摘要:摘要解釋一下請配置報錯的原因。命令具有提升效果,會提升到整個模塊的頭部,首先執(zhí)行。自從年雙十一正式上線,累計處理了億錯誤事件,付費(fèi)客戶有金山軟件百姓網(wǎng)等眾多品牌企業(yè)。
摘要: 解釋一下“請配置apikey”報錯的原因。
部分Fundebug用戶使用import來導(dǎo)入js文件時,出現(xiàn)了"請配置apikey"的報錯,這是由于import提升導(dǎo)致的,下面我會詳細(xì)解釋一下這一點(diǎn)。
import提升關(guān)于import提升,我們可以參考阮一峰的《ECMAScript 6 入門》。
import命令具有提升效果,會提升到整個模塊的頭部,首先執(zhí)行。
foo(); import { foo } from "my_module";
上面的代碼不會報錯,因為import的執(zhí)行早于foo的調(diào)用。這種行為的本質(zhì)是,import命令是編譯階段執(zhí)行的,在代碼運(yùn)行之前。
因此,即使我們把import語句寫在后面,它仍然會在其他語句之前執(zhí)行。
import提升為何導(dǎo)致Fundebug報錯?Fundebug用戶應(yīng)該清楚,在接入fundebug-javascript插件之后,需要配置apikey,如下:
import * as fundebug from "fundebug-javascript"; fundebug.apikey = "API-KEY";
假設(shè)我們還需要import一個test.js文件,這個文件會拋出一個Error,如下:
// test.js throw new Error("test")
一切看起來沒有問題:
// main.js import * as fundebug from "fundebug-javascript"; fundebug.apikey = "API-KEY"; import "./test"
但是,根據(jù)import提升,代碼的實(shí)際執(zhí)行順序如下:
// main.js import * as fundebug from "fundebug-javascript"; import "./test" fundebug.apikey = "API-KEY";
這種情況下,第二行代碼就會拋出錯誤,導(dǎo)致apikey復(fù)制語句不會執(zhí)行,從而導(dǎo)致報錯:“請配置apikey”。
這個問題并不需要解決出于測試的目的,用戶會去import一個立即報錯的js文件,類似于前文提到的test.js。但是實(shí)際開發(fā)中,我們不可能這樣做,否則應(yīng)用會立即崩潰,更談不上部署了。
我們寫這篇博客的目的僅僅是解釋一下原因,并分享一個非常簡單的知識點(diǎn)“import提升”。
如何規(guī)避這個問題?僅供參考,實(shí)際上沒有必要這樣做。
新建一個配置文件config.js,在這個文件中配置apikey:
fundebug.apikey = "API-KEY";
import配置文件:
// main.js import * as fundebug from "fundebug-javascript"; import "./config" import "./test"
這種情況下,配置apikey的語句被import代替了,也就不存在所謂"import提升"的問題,F(xiàn)undebug將可以正常報錯。
最后,感謝Fundebug用戶龍哥的反饋和協(xié)助!
參考《ECMAScript 6 入門》
Fundebug文檔 - JavaScript錯誤監(jiān)控插件
關(guān)于FundebugFundebug專注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java線上應(yīng)用實(shí)時BUG監(jiān)控。 自從2016年雙十一正式上線,F(xiàn)undebug累計處理了10億+錯誤事件,付費(fèi)客戶有Google、360、金山軟件、百姓網(wǎng)等眾多品牌企業(yè)。歡迎大家免費(fèi)試用!
版權(quán)聲明轉(zhuǎn)載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2019/02/26/import-cause-fundebug-apikey-error/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102220.html
摘要:摘要的錯誤監(jiān)控插件同步支持異步錯誤監(jiān)控。此次更新,我們對的監(jiān)控插件做了相應(yīng)的更新,來更好地支持使用框架開發(fā)的應(yīng)用錯誤的監(jiān)控。程序運(yùn)行后,成功捕獲該錯誤總結(jié)更新到,對錯誤處理提供了更加強(qiáng)大的支持。 摘要: Fundebug 的 JavaScript 錯誤監(jiān)控插件同步支持 Vue.js 異步錯誤監(jiān)控。 Vue.js 從誕生至今已經(jīng) 5 年,尤大在今年 2 月份發(fā)布了重大更新,即Vue 2....
摘要:前端異常監(jiān)控插件更新至,修復(fù)了個小修復(fù)用戶行為中重復(fù)記錄請求的修復(fù)的為報錯的這個都不會影響功能,不過為了避免造成困擾,請大家及時更新插件。 摘要: 修復(fù)2個BUG,請大家及時更新。 showImg(https://segmentfault.com/img/remote/1460000019373421?w=900&h=383); Fundebug前端異常監(jiān)控服務(wù) Fundebug是專業(yè)...
摘要:但是,不應(yīng)該啊我們是事先有做檢查的。一個請求成功返回,表示賬戶創(chuàng)建成功。自從年雙十一正式上線,累計處理了億錯誤事件,付費(fèi)客戶有陽光保險核桃編程荔枝掌門對微脈青團(tuán)社等眾多知名企業(yè)。 摘要: 通過分析用戶的行為,才想得到為什么會出現(xiàn)這種情況! 前兩天在BearyChat收到這樣的一個報警消息: 409 ?Conflict ? 平時很少遇到這樣的錯誤,貌似很嚴(yán)重的樣子,嚇得我趕緊查看到底發(fā)生...
摘要:與當(dāng)與同時為時,屬性不能重新使用定義,嚴(yán)格模式下會報錯示例云麒報錯當(dāng)或者為時,屬性可以重新使用定義,這一點(diǎn)讀者不妨自行測試。 摘要: JavaScript有個很神奇的Object.defineProperty(),了解一下? =與Object.defineProperty 為JavaScript對象新增或者修改屬性,有兩種不同方式:直接使用=賦值或者使用Object.definePro...
摘要:已經(jīng)全面支持主流瀏覽器啦對于前端開發(fā)者,兼容各種瀏覽器是一件非常痛苦的事情。并且,同一個錯誤在不同瀏覽器下的,,,與都有可能不同。根據(jù)我們的初步估算,目前聚合算法能夠?qū)⒌闹貜?fù)錯誤成功聚合,這樣極大地提高了用戶分析錯誤的效率。 Fundebug已經(jīng)全面支持主流瀏覽器啦! 對于前端開發(fā)者,兼容各種瀏覽器是一件非常痛苦的事情。在搜索框中輸入關(guān)鍵字JavaScript瀏覽器兼容,結(jié)果是這樣的:...
閱讀 935·2021-11-08 13:22
閱讀 2863·2021-09-29 09:45
閱讀 2839·2021-09-09 11:52
閱讀 2271·2019-08-30 13:20
閱讀 3757·2019-08-29 13:28
閱讀 1375·2019-08-29 12:32
閱讀 2736·2019-08-29 11:10
閱讀 1655·2019-08-26 13:34