2016-04-08 8 views
-1

モジュールmarbleAppのインスタンス化に失敗しました: エラー:[$ injector:nomod]モジュール 'marbleApp'を使用できません!モジュール名のスペルが間違っているか、モジュール名を読み込めませんでした。モジュールを登録する場合は、依存関係を2番目の引数として指定するようにしてください。

ほとんどすべての投稿を読んで、ドキュメントを検索しましたが、モジュールが読み込まれていないため、アプリケーションが機能しません。誰でもコードが正常に動作しないようにするバグを見つけられますか?

Index.htmlと:

<!DOCTYPE html> 
    <html ng-app="marbleApp"> 
    <head> 
     <title>Marble.com AngularMongo</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
     <!--Import materialize.css--> 
     <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/css/materialize.min.css" media="screen,projection"/> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.3/angular.js"></script> 
     <script src="app.js"></script> 

    </head> 

    <body> 

     {{"anot" + "her test"}} 

     <nav style="background-color: #d56324!important"> 
     <div class="nav-wrapper"> 
      <form action="/cosmicblack" method="GET"> 
      <div class="input-field"> 
       <input id="search" type="search" required placeholder="Search"> 
       <label for="search"><i class="material-icons">search</i></label> 
       <i class="material-icons">close</i> 
      </div> 
      </form> 
     </div> 
     </nav> 
     <br> 

     <div> 
    {{"This is " + "a test!"}} 
    {{materials.name}} 
     </div> 
    <!-- <div ng-controller="repeatCtrl">{{materials.name}}</div> --> 



    <div class="container"> 
    <div class="row"> 


     <div class="col m3" ng-controller='repeatCtrl'> 
      <a href="/cosmicblack"><div class="card"> 
      <div class="card-image small"> 
       <img src="http://marble.com/uploads/materials/499/300X300/thumbnail/Cosmic-Black_APeruB9I056YsF3mZ0sT.jpg"> 
       <span class="card-title" ng-bind="materials.name"></span> 
       </div> 
      </div> 
      </a> 
     </div> 


     </div> 
    </div> 







     <!--Import jQuery before materialize.js--> 

     <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/js/materialize.min.js"></script> 


    </body> 
    </html> 

app.js:

var app = angular.module('marbleApp', []); 

app.controller('repeatCtrl', function($scope) { 
    $scope.materials = [ 
     {name: 'Cosmic Black'} 
    ];  
}); 

server.js:

console.log('May Node be with you'); 

var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 
var mongoose = require('mongoose'); 

mongoose.connect('mongodb://localhost/test'); 
var db = mongoose.connection; 

app.use(bodyParser.urlencoded({extended: true})) 

app.get('/', (req, res) => { 
    res.sendFile(__dirname + '/index.html'); 
}); 



app.get('/cosmicblack', (req, res) => { 
    var cursor = db.collection('materials').find(); 
    db.collection('materials').find({"id": "499"}).toArray(function(err, results) { 
     console.log(results); 
    }); 
    db.collection('materialphotos').find({"material_id": "499"}).toArray(function(err, results2) { 
     console.log(results2); 
    }); 
    res.redirect('/'); 
}); 



app.listen(3000,() => { 
    console.log('Running app.js on 3000'); 
}); 
+0

コードが機能しています。私は何の問題も見ません。 – Danda

答えて

0

私はあなたと同じコードをコピーして、それがために働きます私。このbinをご覧ください。 nomodの角度のエラーの一般的な原因は、angular.jsまたはいずれかのアプリケーションの依存関係が正しく読み込まれていないため、アプリケーションモジュールが正しく読み込まれないということです。

+0

これは式のテストでは動作しますが、コードがng-controller = "repeatCtrl"にヒットすると、$ scopeオブジェクトからmaterials.nameを表示するはずです。名前が表示されないだけでなく、表現がまったく表示されません。 – MattP

+0

あなたのエラーは、配列 '$ scope.materials'から' .name'にアクセスしようとしていたことでした。 '{{materials [0] .name}}'を使ってみてください。私はビンを同じ –

+0

で更新しました。コードを実行すると、単にChromeで開くだけですか?私はnode.js/expressサーバに問題があると思います。サーバーを起動してlocalhostに行くと、コードは機能しません。しかし、単にブラウザで直接開くとうまくいきます。なぜそれが事実だろうか? – MattP