Ich werde das Problem so detailliert wie möglich erklären.Express und AngularJS - Webseite friert beim Versuch, Homepage zu öffnen
Ich versuche AngularJS mit Express zu verwenden und stehe in Schwierigkeiten. Ich möchte HTML-Dateien anzeigen (ohne eine Template-Engine). Diese HTML-Dateien haben AngularJS-Anweisungen.
Ich kann jedoch keine einfache HTML-Datei selbst anzeigen!
Die Verzeichnisstruktur ist wie folgt:
Root
---->public
-------->js
------------>app.js
------------>controllers.js
---->views
-------->index.html
-------->partials
------------>test.html
---->app.js
Der Inhalt public/js/app.js
ist:
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'partials/test.html', controller: IndexCtrl});
$routeProvider.otherwise({redirectTo: '/'});
}]);
Der Inhalt public/js/controllers/js
ist:
function IndexCtrl() {
}
Der Inhalt des Body-Tag in views/index.html
ist:
<div ng-view></div>
Das ist es. Die Erwartung ist, dass AngularJS die oben Ansicht mit test.html ersetzen - views/partials/test.html
deren Inhalt:
This is the test page!
innerhalb der Absatz-Tags eingeschlossen. Das ist es!
Schließlich wird der Inhalt der ROOT/app.js
Datei ist:
var express = require('express');
var app = module.exports = express();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use(app.router);
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// routes
app.get('/', function(request, response) {
response.render('index.html');
});
// Start server
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env);
});
Nun, wenn ich $node app.js
im Stammordner tun, startet der Server ohne Fehler. Wenn ich jedoch im Browser auf localhost:3000
gehe, ändert sich die URL zu localhost:3000/#/
und die Seite wird blockiert/eingefroren. Ich kann nicht einmal das Konsolenprotokoll in Chrome überprüfen!
Dies ist das Problem, mit dem ich konfrontiert bin. Irgendwelche Hinweise darauf, was ich falsch mache?
Welche Fehler werden in der Browserkonsole ausgegeben? – charlietfl
@charlietfl wahrscheinlich nichts. Meistens, wenn die Seite zu frieren scheint, liegt es daran, dass die Antwort nicht beendet wird. – Pickels
'wahrscheinlich nichts '?? entweder werden Fehler ausgelöst oder sie sind nicht – charlietfl