2
EDITEd : 안녕하세요, 제 코드는 옳았습니다. $ locationProvider를 사용하여 URL에서 '#'을 삭제해야했습니다. 그게 문제 였어.)Express 및 각 라우팅
나는 간단한 옥션 앱을 만들고있는 MEAN 스택을 배우고있다. 나는 익스프레스와 앵귤러 라우팅이 함께 작동하는 방법을 이해하는데 약간의 문제가 있습니다.
내 노드 서버
는이 파일을 제공하고있다,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');
var routes = require('./routes');
var mongoose = require('mongoose');
var app = express();
mongoose.connect('localhost:27017/auction');
// view engine setup
app.set('views', path.join(__dirname, '/views'));
app.set('view engine', 'jade');
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.get('/partials/:filename', routes.partials);
app.use(routes.index);
내가 정상 index.jade과 내가 각 라우팅,이 같은 일을하는 auction.js라는 각도 응용 프로그램을 app.js :
var app = angular.module('auction', [ 'ngRoute','HomeCtrl','NewAuctionCtrl', 'FollowingAuctionsCtrl','MyAuctionsCtrl']);
app.config(function ($routeProvider){
$routeProvider
.when('/myauctions', {
templateUrl: 'partials/myauctions.jade',
controller: 'MyAuctionsController'
})
.when('/followingauctions', {
templateUrl: 'partials/followingauctions.jade',
controller: 'FollowingAuctionsController'
})
.when('/users', {
templateUrl: 'partials/users.jade',
controller: 'UsersController'
})
.when('/newauction', {
templateUrl: 'partials/newauction.jade',
controller: 'NewAuctionController'
})
.otherwise({redirectTo:'/'});
});
콘솔 색인이 없습니다. 서버가 index.jade를로드하지만 내 탐색 바를 탐색 할 때 다른 옥 파일이나 컨트롤러에서 아무런 반응이 없습니다. 이 앱의 구조 :
-bin(server)
-models(for mongoose)
-public
-images
-javascripts
-auction.js
-controllers
-services
-stylesheets
-routes
-index.js
-views
-partials
-the other jade files
-index.jade
-app.js
그리고 이것은
#auction-navbar
nav.navbar.navbar-default
.container-fluid
// Brand and toggle get grouped for better mobile display
.navbar-header
button.navbar-toggle.collapsed(type='button', data-toggle='collapse', data-target='#bs-example-navbar-collapse-1', aria-expanded='false')
span.sr-only Toggle navigation
span.icon-bar
span.icon-bar
span.icon-bar
// Collect the nav links, forms, and other content for toggling
#bs-example-navbar-collapse-1.collapse.navbar-collapse
ul.nav.navbar-nav
li
a(href='/')
| Dashboard
li
a(href='/myauctions')
| My auctions
li
a(href='/followingauctions')
| Following Auctions
li
a.btn.btn-primary(href='/newauction')
| New Auction
#content(ng-view)
이가하는 index.js이
exports.index = function(req, res){
res.render('index');
};
exports.partials = function (req, res) {
var filename= req.params.filename;
if(!filename) return;
res.render('partials/' + filename);
};
안녕하세요, 제 코드는 옳았습니다. $ locationProvider를 사용하여 URL에서 '#'을 삭제해야했습니다. 그것은 문제였다;) – mpeg90