【发布时间】:2016-03-11 22:49:27
【问题描述】:
我有一个在 MEAN 堆栈上运行的应用程序,除了“/”之外,我似乎无法获得任何角度路径来工作。我已经用 ng-Route 和 ui-router 尝试过这个,并且都继续将“/”以外的任何内容(如 /contacts 或 /portfolio_item/4)发送回“/”。
这里是 app.js:
// using the express library in variable express
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// specify that app is a new express application
var app = express();
app.use('/javascripts', express.static(__dirname + '/public/javascripts'));
app.use('/images', express.static(__dirname + '/public/images'));
app.use('/stylesheets', express.static(__dirname + '/public/stylesheets'));
app.use('/pages', express.static(__dirname + '/public/pages'));
app.use('/partials', express.static(__dirname + '/views/partials'));
app.use('/portfolio.json', express.static(__dirname + 'portfolio.json'));
app.get('*', function (req, res) {
res.sendFile(__dirname + '/public/index.html');
});
这里是 angularapp.js:
var myApp = angular.module('myportfolio', ['ngRoute'])
myApp.config(function($routeProvider){
$routeProvider
.when('/', {
templateUrl: '/pages/home.html',
controller: 'mainController'
})
.when('/portfolio_item/:item_number', {
templateUrl: '/pages/item.html',
controller: 'portfolioController'
})
.when('/contacts', {
templateUrl: '/pages/contact.html',
controller: 'contactController'
})
.otherwise({ redirectTo: '/' });
无论我做什么,/portfolio_item/5 和 /contacts 都会一直向我显示 /pages/home.html... 奇怪的是只有索引才能工作。当我删除 ".when('/', {" 部分时,它只会向我显示来自任何 URL 的完全没有视图的布局。
我正在使用 C9 环境并运行 Node 服务器,如果这有影响的话?
【问题讨论】:
标签: javascript angularjs node.js express url-routing