gpt4 book ai didi

javascript - Angular NgRoute "/"有效,但其余部分无效?

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:56 25 4
gpt4 key购买 nike

我有一个在 MEAN 堆栈上运行的应用程序,除了“/”之外,我似乎无法获得任何 Angular 路线。我已经尝试过使用 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 看到任何 View 。

我正在 C9 环境中工作并运行 Node 服务器,这是否有影响?

最佳答案

如果您检查浏览器控制台,您应该会发现以下形式的错误:

Uncaught SyntaxError: Unexpected token <

发生错误的原因是服务器未提供静态文件。 express.static 被用作服务器上路由的中间件。

要纠正此问题,您需要添加以下行:

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

这提供公共(public)文件夹中的所有静态文件。

关于javascript - Angular NgRoute "/"有效,但其余部分无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com