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.jsthrow new Error("test")

登录后复制

一切看起来没有问题:

// main.jsimport * as fundebug from "fundebug-javascript";fundebug.apikey = "API-KEY";import "./test"

登录后复制

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

// main.jsimport * 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.jsimport * as fundebug from "fundebug-javascript";import "./config"import "./test"

登录后复制

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

以上就是import提升导致Fundebug报错的解决方法(详细)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2732838.html

(0)
上一篇 2025年3月8日 00:49:23
下一篇 2025年3月7日 15:19:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vue2.6中的nextTick方法分析

    本篇文章给大家带来的内容是关于vue2.6中的nexttick方法分析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 浅析 Vue 2.6 中的 nextTick 方法。 事件循环 JS 的 事件循环 和 任务队列 其实…

    编程技术 2025年3月8日
    200
  • JavaScript基础数据的梳理

    本篇文章给大家带来的内容是关于javascript基础数据的梳理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 看了一些资料,结合ES6、高程和MDN,对JS核心知识点进行了梳理。由于篇幅有限,这里只对我认为重要的知识做了…

    编程技术 2025年3月8日
    200
  • JavaScript中作用域链与执行环境的介绍(图文)

    本篇文章给大家带来的内容是关于JavaScript中作用域链与执行环境的介绍(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 每一个函数存在一个[[Scope]]内部属性,包含了一个函数被创建得作用域中对象得集合,这…

    2025年3月8日
    200
  • nodejs实现webservice的问题分析

    本篇文章给大家带来的内容是关于nodejs实现webservice的问题分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 库,工具 node-soapsoapui 创建 注意args里参数顺序 const soap = …

    2025年3月8日 编程技术
    200
  • react路由的简单用法(代码示例)

    本篇文章给大家带来的内容是关于react路由的简单用法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 我要的是简单粗暴的路由 习惯了 vue-router 路由的用法,再用react-router总感觉挺麻烦的…

    2025年3月8日 编程技术
    200
  • Vue CLI3.0中使用jQuery和Bootstrap的教程(详细步骤)

    本篇文章给大家带来的内容是关于vue cli3.0中使用jquery和bootstrap的教程(详细步骤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Vue 中使用 jQuery 和 Bootstrap 不是特别符合 …

    2025年3月8日
    200
  • JavaScript中的this的详细分析

    本篇文章给大家带来的内容是关于JavaScript中的this的详细分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 只需要记住几个口诀就能正确找到this的指向: 1.不管函数或者方法是如何声明的,要看这个函数或者方法…

    2025年3月8日 编程技术
    200
  • JavaScript运行机制的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于JavaScript运行机制的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、引子 本文介绍javascript运行机制,这一部分比较抽象,我们先从一道面试题入手: c…

    2025年3月8日 编程技术
    200
  • Javascript闭包的代码示例

    本篇文章给大家带来的内容是关于Javascript闭包的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 闭包 当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄露 //内部的函数被返回…

    编程技术 2025年3月8日
    200
  • JavaScript闭包的解析(附代码)

    本篇文章给大家带来的内容是关于JavaScript闭包的解析(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。了…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论