AngularJS+NodeJS路由-不工作
AngularJS + NodeJS Routing - Not working
我正在尝试使用MEAN堆栈制作一个基本的应用程序。
在过去的一个多小时里,我一直在努力让一条基本路线可行,但我失败得很惨。
每当我在//strong>上访问我的应用程序时,提供给Angular路由的模板将不会呈现该模板,即使我可以在浏览器中的templateUrl
手动访问它。
这是我的代码:
express.js
var express = require('express'),
bodyParser = require('body-parser'),
session = require('express-session'),
logger = require('morgan'),
cookieParser = require('cookie-parser');
module.exports = function(app, config){
app.set('views', config.rootPath + '/server/views');
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(cookieParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(session({secret: 'contact demo'}));
app.use(express.static(config.rootPath + '/public'));
};
路由.js
var mongoose = require('mongoose'),
Contact = mongoose.model('Contact');
module.exports = function(app, router) {
router.get('/partials/*', function(req, res) {
res.render('../../public/app/' + req.params[0]);
});
router.get('*', function(req, res) {
res.render('index');
});
app.use('/', router);
};
server.js
// Module Dependencies
var express = require('express'),
mongoose = require('mongoose');
// Initialize Express Application
var app = express(),
env = process.env.NODE_ENV = process.env.NODE_ENV || 'development';
// Config Parameters
var config = require('./server/config/config')[env];
// Invoke Express Config File
require('./server/config/express')(app, config);
// Invoke Mongoose Config File
require('./server/config/mongoose')(config);
// Invoke Routes File
require('./server/config/routes')(app, express.Router());
app.listen(config.port);
console.log('Listening on port ' + config.port + '...');
app.js
angular.module('demo', ['ngResource', 'ngRoute'])
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {templateUrl: '/partials/main/main'});
$locationProvider.html5Mode(true);
});
布局。翡翠
doctype
html
head
title Contact Management Application
link(rel="stylesheet" href="/vendor/bootstrap/dist/css/bootstrap.min.css")
link(rel="stylesheet" href="/css/style.css")
body(ng-app="demo")
block main-content
include scripts
指数。翡翠
extends ../includes/layout
block main-content
h1 Hello World
section.content
div(ng-view)
main.翡翠
section.content
h1 I should be rendered!
编辑
这是我的文件夹结构:
--public/
--app/
--main/
--main.jade
--app.js
--css/
--vendor/
--server/
--config/
--express.js
--routes.js
--includes/
--layout.jade
--scripts.jade
--views/
--index.jade
--server.js
在您的角度代码中,您在哪里调用REST命令?看起来你只是在应用程序中导航到另一个页面,但你并没有告诉它从服务器上提取。
相关文章:
- 节点J的路由不工作
- 路由不'我不在AngularJS工作
- 使用node/express在angular.js中不工作的路由
- 为什么获胜't此代码中的路由工作
- 无法获取用户 ID 路由参数以在反应路由器中继上工作
- 没有哈希“#”的 AngularJS 路由 - 无法让它工作
- AngularJS路由未按预期工作
- 节奏和余烬,我如何让它在所有路由中工作而不重复代码
- 如何在Microsoft IIS上使用反应路由器(createBrowserHistory)使路由工作
- AngularJs 路由不再工作.地址栏更改,但视图不会更改
- AngularJS 1.3 路由不工作;控制器从未调用
- 余烬与数据 - 路由模型无法一致地工作
- 在某些情况下,似乎无法让角度路由工作
- Cordova+AngularJs路由不工作
- ng路由工作不正常
- AngularJS+NodeJS路由-不工作
- 使主干路由正常工作
- 骨干JS路由没有像我预期的那样工作
- AngularJS路由不工作,但没有抛出任何错误
- Angularjs 路由无法正常工作