繁体   English   中英

用angular js和expressjs进行路由

[英]routing with angular js and expressjs

我正在尝试使用express和angularjs启动一个项目。 我正在遵循指南。 第一次运行,即运行localhost:3000,我成功将我的index.jade文件加载到views目录中。 玉器

extends layout

block content
    div
        ng-view

    include footerjs

footerjs.jade

script(src="/javascripts/angular.min.js")
script(src="/javascripts/angular-route.js")
script(src="/javascripts/angular-resource.js")
script(src="/javascripts/app.js")
script(src="/javascripts/task.js")

views目录中有一个名为partials的文件夹。 在此文件夹中,我添加了两个模板。 “ task.jade”和“ landing.jade”。

我的app.js

var mainApp = angular.module('mainApp', ['ngRoute', 'taskApp', "ngResource", 'ui.router' ]);

mainApp.config(['$routeProvider', '$locationProvider',function(routeProvider, locationProvider) {
    locationProvider.html5Mode(true);

    routeProvider
        .when('/', {
            templateUrl: 'partials/landing',
            controller: 'taskController'
        }).
        when('/task', {
            templateUrl: 'partials/task',
            controller: 'taskController'
        }).
        otherwise({redirectTo: '/'});
}]);

我的快速路线为:

router.get('/partials/:urlName', function(req, res) {
    res.render('partials/'+req.params.urlName);
});

我无法路由任何局部。 我最初停留在布局上,尝试路由/任务时出现错误404。 任何帮助将不胜感激。

您应该在templateUrl中包括文件扩展名:

routeProvider
        .when('/', {
            templateUrl: 'partials/landing.jade',
            controller: 'taskController'
        }).
        when('/task', {
            templateUrl: 'partials/task.jade',
            controller: 'taskController'
        }).
        otherwise({redirectTo: '/'});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM