Не могу найти имя 'FB' [ts]

Я пытаюсь инициализировать JavaScript SDK для использования Facebook Graph API в конце концов. Но это продолжает говорить, что Cannot find name FB, не уверен почему. Вот что я сделал,

componentDidMount() {
    (window as any).fbAsyncInit = function() {
        FB.init({ // this FB errors out
            appId            : "my-app-id",
            autoLogAppEvents : true,
            xfbml            : true,
            version          : "v2.11"
        });
    };

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

PS я использую TSLintвот почему у меня есть все те typedef any

0 ответов

Установите https://www.npmjs.com/package/@types/facebook-js-sdk и добавьте facebook-js-sdk в types в вашем tsconfig.ts или же tsconfig.app.json если у вас есть вложенные приложения при использовании Angular CLI.

пример tsconfig.app.json:

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "outDir": "../../out-tsc/app",
    "types": [
      "node",
      "gapi", // google
      "gapi.auth2", // google
      "facebook-js-sdk" // facebook
    ]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}
Другие вопросы по тегам