当前位置: 首页 > 面试题库 >

如何修复错误'FB'在create-react-app项目上未定义为no-undef?

吴鸿彩
2023-03-14
问题内容

我使用此链接作为起始文件进行了项目。

https://github.com/facebookincubator/create-react-
app

但是在我尝试使Facebook登录按钮与他们的官方文档一起使用之后。

componentDidMount(){
    console.log('login mount');
    window.fbAsyncInit = function() {
        FB.init({
            appId      : '320866754951228',
            xfbml      : true,
            version    : 'v2.6'
        });

        FB.getLoginStatus(function(response) {
            //this.statusChangeCallback(response);
        });

    };

    (function(d, s, id){
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
}

所以刷新浏览器时出现此错误。

Failed to compile.

Error in ./src/components/user_profile/LoginForm.js

/Sites/full_stack_production/xxxxx
  70:13  error  'FB' is not defined  no-undef
  76:13  error  'FB' is not defined  no-undef

✖ 2 problems (2 errors, 0 warnings)

所以我想是因为ESLint会导致此错误。如何解决此问题或对该FB变量进行例外处理?

谢谢!


问题答案:

ESLint不知道该变量FB是全局变量。您可以通过在文件顶部添加以下内容来声明引用为全局变量的变量:

/*global FB*/

有关更多信息,请查看ESLint官方文档上的“规则详细信息”部分:http
://eslint.org/docs/rules/no-undef



 类似资料:
  • 使用create-vue来创建基于Vite的新项目,所有选项都按照官网来的,但是报错 : TypeError: server.watchFiles is not a function 试过重装@vue\language-server,修改vue版本,eslint版本,都不行,最多报错信息变了,但仍然报错

  • 问题内容: 我有一个项目,我两个星期都没碰过。我将其取回,现在尝试运行时出现此错误。 节点6.7.0 npm 3.10.3 mac sierra 10.12 package.json 我也尝试克隆我的存储库,并得到相同的错误。如果有人可以给我一些方法来查找发生了什么。谢谢 问题答案: 签入Create React App的作者。 您绝对不应该在全球范围内安装。 您还 没有 需要的是这个答案暗示。

  • 在存储库中https://github.com/khpeek/trailmaps,我有一个使用创建的谷歌地图示例,其中prop包含我的谷歌地图API键。根据12因素原则,我想将此API键移动到文件,并将其插入URL。 我正在尝试按照模块(与一起提供)的说明进行操作,并尝试了以下操作: 在根目录中,我创建了一个文件,其中我定义了。但是,如果我并转到,我会发现未定义: 根据未捕获引用错误:未定义进程,

  • 我得到未定义的索引错误。我在同一个网站上看到了一个类似类型的问题。我无法修复这个错误,有人能帮助我吗

  • 问题内容: 我的项目基于create-react-app。或默认情况下,将在 端口3000 上运行该应用程序,并且在package.json中没有指定端口的选项。 在这种情况下,如何指定自己选择的端口?我想同时运行此项目的两个(用于测试),一个在端口,另一个在 问题答案: 如果您不想设置环境变量,则另一个选择是从以下位置修改package.json 的一部分: 至 Linux (在Ubuntu 1

  • 问题内容: 我正在使用create-react-app,但不喜欢。 目前尚不清楚通过@ font-face导入并本地加载的字体应该放在哪里。 即我正在加载 有什么建议么? -编辑 包括丹在回答中提到的要点 问题答案: 有两种选择: 使用导入 这是建议的选项。它可以确保字体通过构建管道,在编译过程中散列,以便浏览器缓存正常工作,并且在缺少文件的情况下得到编译错误。 如“添加图像,字体和文件”中所述,