当我尝试加载角度路径(因此是模板)时,我收到此错误:
警告:尝试多次加载角度。
我认为路由存在问题导致无限循环,但我无法解决问题所在。
server.js
var express = require('express');
var bodyParser = require('body-parser');
var app = express(); //Create the Express app
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/server/views');
app.set('view engine', 'ejs');
module.exports = app;
app.js
angular
.module('vapescannerApp', [
'ngAnimate',
'ngResource',
'ngRoute',
'theControllers'
])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.ejs',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: 'views/about.ejs',
controller: 'AboutCtrl'
})
.when('/something/:id', {
templateUrl: 'views/ProductDetails.ejs',
controller: 'DetailsCtrl'
})
.otherwise({
redirectTo: '/'
});
});
www.js
var app = require('../server');
app.get('*', function(req, res){
res.render("index");
});
app.set('port', process.env.PORT || 8000);
var server = app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + server.address().port);
});
应用结构
-- bin
- www.js
-- public
- app.js
-- server
-- views
- productDetails.ejs
- main.ejs
- about.ejs
答案 0 :(得分:1)
app.get('*', function(req, res){
res.render("index");
很难确切地说,但这会将每条路由重定向到呈现index
。如果您的路由与公共目录中的文件不匹配,则express将尝试再次呈现索引文件。如果索引文件包含Angular,则包含可能会呈现两次。您可以关闭此路由或使其更具体,以便进行调试,以确认所有资源都已正确包含在内。