2016-04-03 19 views
0

Hier sind die Dateien/Ordner in meinem Projekt alle im selben Ordner.Angular HTML-Datei kann JS-Controller nicht finden [Node.js/Angular]

Github Repo für das Projekt: https://github.com/JohnsCurry/learnAngular Nur um zu beweisen, dass sie alle im selben Verzeichnis sind. Entschuldigung, ich habe die Datei package.json nicht. Das einzige, was zu installieren ist, ist Express. Ich tat npm install --save express. Ich weiß also nicht, warum die Datei package.json nicht angezeigt wurde.

Ich habe diese gleiche genaue Struktur ohne einen laufenden Server versucht (nur statische HTML- und JS-Dateien clientseitig) und die 13.html-Datei findet die controller13.js-Datei einfach in Ordnung. Wenn ich Node.js ausführe, funktioniert es nicht.

Mein Fehler:

GET http://localhost:3000/controller13.js localhost/:8 angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/ $injector/modulerr?p0=mainApp&p1=Error%3…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)

So kann es nicht die controller13.js Datei aus irgendeinem Grund finden, und ich gehe davon aus, dass ist, warum ich die $injector Fehler.

13.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>AngularJS | Hands On!</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-route.js"></script> 
    <script src="controller13.js"></script> 
</head> 
<body ng-app="mainApp" ng-controller=""> 
    <div ng-view></div> 
</body> 
</html> 

controller13.js

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

app.config(function($routeProvider) { 
    $routeProvider 
    .when('/', { 
    templateUrl: '/page13.html' 
    }) 
    .when('/helloUser', { 
    templateUrl: '/hello13.html' 
    }) 
    .otherwise({ 
    redirectTo: '/' 
    }); 
}); 

app.js

var express = require('express'); 
var app = express(); 

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/13.html'); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 
+2

Sie haben statische Ordner bestätigen. app.use (express.static (__ dirname + '/ public')); – shanhaichik

+0

Danke ... Ich habe jetzt einen anderen Fehler, aber das ist eine ganz andere Sache, denke ich. Jetzt ist mein Problem, dass mein Winkelcode schlecht ist. Entschuldigung für die Noobie Frage. –

Antwort

1

Sie Angular 1.3.14 und Angular-Route 1.4.4 mischen. Fix die Version und sehen.