簡體   English   中英

Angular NgRoute "/" 有效,但其余的無效?

[英]Angular NgRoute "/" works but the rest don't?

我有一個在 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 服務器,如果這有區別的話?

如果您檢查瀏覽器控制台,您應該會發現以下形式的錯誤:

未捕獲的語法錯誤:意外的標記 <

發生錯誤是因為服務器沒有提供靜態文件。 express.static被用作服務器express.static由的中間件。

要更正此問題,您需要包含以下行:

app.use(express.static(__dirname + '/public'));

這為公共文件夾中的所有靜態文件提供服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM