我是Angular的新手。我正在使用node,jade和angular构建一个新项目。尝试实现捕获所有服务器路由。当索引页面加载时,它会进入这个使应用程序崩溃的循环。我尝试了几种不同的方法来尝试让它发挥作用。不知道我做错了什么!!
节点主路线
module.exports = function(app){
app.get('*', function (req, res) {
res.render('index', {
bootstrappedAccount:req.user
});
});
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
}
Index.jade
extends ../includes/layout.jade
block main.js-content
.navbar.navbar-inverse.navbar-fixed-top
.container
.navbar-header
a.navbar-brand(href='/') Template
.navbar-collapse.collapse
ul.nav.navbar-nav
li
a(href='/') home
div(ng-include="'/partials/account/navbar-login'")
section.content
div(ng-view)
footer.container.text-center
p © 2016 Company Name Corp International Ltd.
layout.jade(其中加载了角度。如果我从主体中取出ng-app('app')页面加载。所以我知道它的角度应用程序导致问题。
doctype html
html
head
title Template
link(href="/favicon.ico",rel="shortcut icon",type="image/x-icon")
link(rel="stylesheet",href="/vendor/bootstrap/dist/css/bootstrap.min.css")
link(rel="stylesheet",href="/vendor/toastr/toastr.css")
link(rel="stylesheet",href="/css/customsite.css")
body(ng-app='app')
include currentUser
block main.js-content
include scripts
app.js(Initalize Angular app)
angular.module('app',['ngResource','ngRoute']);
angular.module('app').config(function($routeProvider,$locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$routeProvider.when('/', {templateUrl: '/partials/main/main', controller: 'mvMainCtrl'})
});
main.jade
.container
.jumbotron
h1 The Startup Project
p This appy.
.row
.col-md-6
div(ng-include="'/partials/main/featured-courses'")
.col-md-6
div(ng-include="'/partials/main/new-courses'")
答案 0 :(得分:0)
你真的需要设置这个:
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
Angular应加载您包含的部分内容而不在服务器端设置特殊路由。
答案 1 :(得分:0)
问题发生在templateUrl部分的app.js文件中。我没有正确传递字符串路由值,因此它会返回并重新加载服务器'/'页面并连续加载客户端'/'。我只是将字符串更改为'/ partials /?path = / main / main'这样我的部分路径就不必改变了。如果要加载没有partials路由。请确保templateUrl上的路径是正确的。如果您遇到问题的可能性超过了该路线。只要玩弄它,直到你搞清楚。我甚至将我改为'/ signup'以确保摘要错误停止并且我在正确的路径上修复它。