2016-04-11 13 views
0

私はそれらの人とスタックを作りました。これは、Oracleデータベースと対話する形式です。Node - Express - Angular、なぜJSをロードしないのですか?

ここで、認証を追加して、nodejsの "client-oauth2"モジュールを使用してOAuth2サーバーに要求します。これは、Node.jsの内のコードです:

requireLogin = function (req, res, next) { 
    var uri=ServAuth.code.getUri(); 
    res.redirect(uri); 
}; 

app.get('/auth/callback', function (req, res) { 
     ServAuth.code.getToken(req.url) 
     .then(function (user) { 
       console.log(user); //=> { accessToken: '...', tokenType: 'bearer', ... } 
       user.request({ 
        method: 'get', 
        url: 'https://aut.server.blabla.bla/api/Me' 
       }).then(function (res) { 
        res.body.forEach(function (item){ 
         if (item.Type=="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name") { 
           logged_user=item.Value; 
         } 
        }); 
        }) 
        return res.sendFile(path.resolve(__dirname + '/../public/form.html')); // load the single view file (angular will handle the page changes on the front-end) 
     }); 
}); 


app.use('/form', requireLogin); 

私は「myserver.bla /フォーム」と呼ぶならば、私が正しくのOAuth2サーバのログインページにリダイレクトしています。ログインしてアクセスを許可します。 は、次にページ「form.htmlが」ロードされているが、私は、ブラウザのコンソールにエラーが表示さ:

エラー:[$インジェクター:modulerr]起因するモジュールNSW_PCB_QCをインスタンス化できませんでした: [$インジェクター:nomod]モジュール'NSW_PCB_QC'は利用できません!

NSW_PCB_QCは角形アプリケーションの名前です(ng-app = "NSW_PCB_QC")。

しかし、 "myserver.bla/form.html"を呼び出す認証をバイパスしてform.htmlを直接ロードすると、すべての角度モジュールが正しく読み込まれます。

問題はどこですか?

は、問題がjsのスクリプトで相対パスは、ファイルが提供される方法に応じて異なる場所を指しているということである事前

+0

のようになります。あなたがコンテンツを表示することができますように見えたのでパス彼らの前に/を追加することによって同じ場所からのパスをrootにありますform.htmlの? – ruedamanuel

+0

こんにちは@ruedamanuel、それを見ていただきありがとうございます。 form.htmlは320行です。どの部分が助けになると思いますか? –

+0

静的ファイルが不足している可能性があるため、HTMLの相対パスが/ formルートシナリオに存在しないものを参照しているように見えるため、読み込んでいるjsスクリプトへのパスを確認したい

関連する問題