2016-07-06 9 views
1

私は、MEAN Stackを使用したユーザー認証のためにあらかじめ構築されたAngularJSアプリケーションを持っています。私はまた、私がアプリに含めることを望むスタンドアロンのHTMLページをいくつか持っています。包含の目的は、ユーザデータを含むナビゲーションバーを含むことである。既存のAngularJSアプリケーションにページを追加するにはどうすればよいですか?

https://www.sitepoint.com/user-authentication-mean-stack/ - これは私が構築したアプリです。

私はそうのような私app.jsの内側にルートを追加するだけで試してみました:

APP.JS

! function() { 
function n(n, e) { 
    n.when("/", { 
     templateUrl: "home/home.view.html", 
     controller: "homeCtrl", 
     controllerAs: "vm" 
    }).when("/register", { 
     templateUrl: "/auth/register/register.view.html", 
     controller: "registerCtrl", 
     controllerAs: "vm" 
    }).when('/video', { 
    templateUrl: 'video/video.html', 
    }).when("/login", { 
     templateUrl: "/auth/login/login.view.html", 
     controller: "loginCtrl", 
     controllerAs: "vm" 
    }).when("/profile", { 
     templateUrl: "/profile/profile.view.html", 
     controller: "profileCtrl", 
     controllerAs: "vm" 
    }).otherwise({ 
     redirectTo: "/" 
    }), e.html5Mode(!0) 
} 

私はここに直面している問題は、私のスタイリングのすべてが完全であるということです投げ出されただけでなく、ページで使用されているいくつかのJavaScriptが投げ捨てられます。このページは動画プレーヤーを使用するもので、表示されません。ここで

は、私が使用しているかを示すために Video.HTMLから一部抜粋です:

<!-- Custom CSS --> 
<link href="css/clean-blog.css" rel="stylesheet"> 
<link rel="stylesheet" type="text/css" href="css/jquery-comments.css"> 

<!-- Custom Fonts --> 
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 
<link href='http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'> 
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'> 

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
<!--[if lt IE 9]> 
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
<![endif]--> 

<!-- jQuery Comments --> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
<script type="text/javascript" src="js/jquery-comments.js"></script> 
<script src="js/mediaelement-and-player.min.js"></script> 
<script type="text/javascript" src="data/comments-data.js"></script> 

<!-- Init jquery-comments --> 
    <script type="text/javascript"> 
     $(function() { 
      $('#comments-container').comments({ 
       profilePictureURL: 'https://viima-app.s3.amazonaws.com/media/user_profiles/user-icon.png', 
       roundProfilePictures: true, 
       textareaRows: 1, 
       enableAttachments: true, 
       getComments: function(success, error) { 
        setTimeout(function() { 
         success(commentsArray); 
        }, 500); 
       }, 
       postComment: function(data, success, error) { 
        setTimeout(function() { 
         success(data); 
        }, 500); 
       }, 
       putComment: function(data, success, error) { 
        setTimeout(function() { 
         success(data); 
        }, 500); 
       }, 
       deleteComment: function(data, success, error) { 
        setTimeout(function() { 
         success(); 
        }, 500); 
       }, 
       upvoteComment: function(data, success, error) { 
        setTimeout(function() { 
         success(data); 
        }, 500); 
       }, 
       uploadAttachments: function(dataArray, success, error) { 
        setTimeout(function() { 
         success(dataArray); 
        }, 500); 
       }, 
      }); 
     }); 
    </script> 
<navigation></navigation> 
<body ng-view> 
<header class="intro-header" style="background-image: v  url('img/johnnycash.jpg')"> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       <div class="site-heading"> 
        <h1>Heading</h1> 
        <hr class="small"> 
        <span class="subheading">Span text</span> 
       </div> 
      </div> 
     </div> 
    </div> 
</header> 
<video width="1080" height="500" poster="media/cars.png"> 
    <source src="media/cars.mp4" type="video/mp4"> 
</video> 

<script> 
$(document).ready(function() { 
    $('video').mediaelementplayer({ 
     alwaysShowControls: false, 
     videoVolume: 'horizontal', 
     features: ['playpause','progress','volume','fullscreen'] 
    }); 
}); 
</script> 
<hr> 
<!-- Main Content --> 
<div id="comments-container"></div> 
<!-- Footer --> 
<footer> 
    <div class="container"> 
     <div class="row"> 
      <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1"> 
       <ul class="list-inline text-center"> 
        <li> 
         <a href="http://www.twitter.com"> 
          <span class="fa-stack fa-lg"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-twitter fa-stack-1x fa-inverse"></i> 
          </span> 
         </a> 
        </li> 
        <li> 
         <a href="http://www.facebook.com"> 
          <span class="fa-stack fa-lg"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-facebook fa-stack-1x fa-inverse"></i> 
          </span> 
         </a> 
        </li> 
        <li> 
         <a href="http://www.instagram.com"> 
          <span class="fa-stack fa-lg"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-instagram fa-stack-1x fa-inverse"></i> 
          </span> 
         </a> 
        </li> 
       </ul> 
       <p class="copyright text-muted">Copyright &copy; Copyright 2016</p> 
      </div> 
     </div> 
    </div> 
</footer> 

<!-- jQuery --> 
<!--script src="js/jquery.js"></script--> 

<!-- Bootstrap Core JavaScript --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

<!-- Custom Theme JavaScript --> 
<script src="js/clean-blog.min.js"></script> 

私はここから続行するかどうかはわかりません。私は何をしようとしているのかが分からない。私は情報を引き出すために同じバックエンドを使用する別々のアプリケーションを構築しようとしましたが、それは惨めに失敗しました。技能はまだそのようなものではない。

誰かがそれを見つけて実行してもらうか、それとももっとうまくいくかを知るにはどうすればいいのかというサーバーの考えがあります。
- 2つの異なるAngularJSページを作成します。
- 同じMongoDBのに話す別々のアプリケーションを構築するには - テンプレートとして、私はAngularJSアプリケーションのindex.htmlをからのスタイリングを削除しようとすると、それはまだ好きではない私の

+0

おそらく最初にやるべきことは、ブラウザのデバッガを使用して、さまざまなリクエストに応じて送信されているHTMLを見ることです。さまざまな変更が行われた後にブラウザによってスローされているエラー(「404」など)も見てください。また、when節は発生順に評価される*ベストフィットではないことに留意してください。 –

答えて

3

アンギュラ御馳走のvideo.htmlから
非常に困難と思われますbodyタグの内容を除くすべてを無視します。

内容と<script>タグをvideo.htmlから、メインのHTMLファイル(ng-appディレクティブを持つもの)に追加する必要があります。

+0

これを前に試しましたが、うまくいきませんでした。今回は、「EVERYTHING」にはインラインのJavaScriptも含まれていて、すべてが機能するようです。それが動作していることを確認するためにまだ再生しています。しかし、この解決策が問題を引き起こすならば、私は他人が見るために投稿することが確実になるでしょう。 –

+0

しかし、スタンドアロンHTML内のすべてのページのルートを追加する必要がありますか?これはちょうど今この1つを追加しようとしていた –

+0

ウェブサイト全体のナビゲーションを角度で表示したい場合ははいです。あなたは持っているすべての角度のビューのルートを追加する必要があります。まさしく1ページではありません。 –

0

ウェブアプリケーションの目的やその他の詳細を知らないうちに、私は自分のベストアドバイスをしてみることができます。

Angular JSルートは、内部ナビゲーションのみに使用されます。つまり、角度のあるアプリエコシステム(つまり、video.htmlページ)の外をナビゲートするルートを設定することはできません。ナビゲーションのソースコードは表示されませんが、video.htmlページに移動してngRouterをバイパスするには、このような操作を行うことができます。

<a target="_self" href='/video.html'>Videos</a> 

(の詳細についてここでその:https://docs.angularjs.org/guide/ $場所#HTMLリンク-書き換え)

限りCSSの問題として、私はそれは内でされていないスタイルタグによって引き起こされると考えていますブロック。一つのことは、Web開発者のコ​​ンソールをチェックすることです。 Chrome(または選択したブラウザ)を開き、Cmd + alt + i(Macの場合)を押します。またはに移動し、表示 - >開発 - >開発ツールをクリックし、コンソールタブをクリックします。エラーや警告が表示されます。

関連する問題