2017-08-20 13 views
0

angle2プロジェクトにcodebirdを含める必要があります。私は角度cliを使用しています。問題は私がcodebird jsモジュールを統合したことですが、ビルド中にこのエラーが出ます - 'プロパティがnullを提供するのを読むことができません'。誰かがangular2のコードバードを統合する手順でステップを与えることはできますか?angular2プロジェクトにコードバーを含める

+0

「ビルド中」 - どのような手順を取ったのですか? – Jublo

+0

@Jubloこれは私が従った手順です。私はコードビードをnpmインストールしました。私のapp.module.tsに、codebirdのCodebirdとして> import *をインポートし、それを私のアプリケーションに統合しました。私は自分のサーバーを起動するか、(ng buildを使用して)ビルドすると「プロパティはnullを提供できません」と表示されます。 –

答えて

0

これは私の回避策です。

は角-cli.jsonでCodeBirdを含める

"scripts": [ 
    ... 
    "./assets/js/codebird.js", 
    ... 
] 

その後、あなたのサービスのディレクトリにTwitterAuthというフォルダを作成します。 (任意の名前を使用できます)

次に、次のファイルを作成します。私は持っているファイルの内容を含めます。

index.ts

export { TwitterAuth } from './twitterAuth'; 

twitterAuthd.d.ts

export declare class TwitterAuth { 
    twitterLogin(): void; 
} 

twitterAuth.jsあなたのC言語でその後

export let TwitterAuth = (function() { 
    function TwitterAuth() { 
    } 
    TwitterAuth.prototype.twitterLogin = function() { 
    let cb = new Codebird; 
    cb.setConsumerKey("iuJN6zUs0TdggP3NvszVa5z2", "RNUnzMwFPn6vl5aaHW2YSbAAjevfW1LMRFzET6ugNV6a5bOAsz"); 

    localStorage.removeItem("oauth_token"); 
    localStorage.removeItem("oauth_token_secret"); 
    let oauth_token = localStorage.getItem("oauth_token"); 
    let oauth_token_secret = localStorage.getItem("oauth_token_secret"); 
    if (oauth_token && oauth_token_secret) { 
    cb.setToken(oauth_token, oauth_token_secret); 
    } else { 
    cb.__call(
     "oauth_requestToken", { 
     oauth_callback: location.origin 
     }, 
     function (reply, rate, err) { 
     if (err) { 
     } 
     if (reply) { 
      console.log(reply); 
      // stores it 
      cb.setToken(reply.oauth_token, reply.oauth_token_secret); 

      // save the token for the redirect (after user authorizes) 
      // we'll want to compare these values 
      localStorage.setItem("oauth_token", reply.oauth_token); 
      localStorage.setItem("oauth_token_secret", reply.oauth_token_secret); 

      // gets the authorize screen URL 
      cb.__call(
      "oauth_authenticate", {}, 
      function (auth_url) { 
       // JSFiddle doesn't open windows: 
       window.location.replace(auth_url); 
       // $("#authorize").attr("href", auth_url); 

       // after user authorizes, user will be redirected to 
       // http://127.0.0.1:49479/?oauth_token=[some_token]&oauth_verifier=[some_verifier] 
       // then follow this section for coding that page: 
       // https://github.com/jublonet/codebird-js#authenticating-using-a-callback-url-without-pin 
      }); 
     } 
     }); 
    } 
    }; 
    return TwitterAuth; 
}()); 

omponentはこのようなファイルをインポートします。

import {TwitterAuth} from "../../services/twitterAuth/twitterAuth"; 

問題がある場合はお知らせください。

関連する問題