angular与节点

所以我试图工作AngularJS和节点。 我正在尝试设置客户端路由,但我有一些问题。

编辑

所以我改变了一些代码: @PareshGamibuild议的https://github.com/scotch-io/starter-node-angular 。 我得到的url被击中,但现在的实际内容不加载。

这是我更新的代码:

server.js:

var express = require('express'), app = express(), bodyParser = require('body-parser'), mongoose = require('mongoose'); app.use(bodyParser.json()); require('./server/routes')(app); app.use('/js', express.static(__dirname + '/client/js')); app.use('/views', express.static(__dirname + '/client/views')); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.use('/node_modules', express.static(__dirname +'/node_modules')); app.listen(3000); console.log('Im Listening...'); exports = module.exports = app; 

我的angular度app.js:

 (function (angular) { 'use strict'; var app = angular.module('eos', [ 'ngRoute', 'ngResource', 'eos.opsCtrl', 'eos.dashboardCtrl' ]); app.config(function ($routeProvider, $locationProvider){ $routeProvider.when( '/', { templateUrl: 'views/dashboard.html', pageName: 'Dashboard', controller: 'dashboardCtrl' } ); $routeProvider.when( '/ops', { templateUrl: 'views/ops.html', pageName: 'Operations', controller: 'opsCtrl' } ); $routeProvider.otherwise({redirectTo: '/'}); $locationProvider.html5Mode(true); }); }(window.angular)); 

我的routes.js(新):

 var opsController = require('./controllers/opsController'); module.exports = function(app) { //path.join(__dirname, 'client'); // server routes =========================================================== // handle things like api calls // authentication routes app.get('/api/ops', opsController.list); app.post('/api/ops', opsController.create); // frontend routes ========================================================= // route to handle all angular requests app.get('*', function(req, res) { res.sendFile('index.html', { root: './client' }); }); }; 

然后rest是相同的。 并build议为什么不在ng-view中加载内容?


最后得到它的工作! 我的server.js设置错了。

这是正确的server.js。 公告位置:

 require('./server/routes')(app); 

它需要成为父亲,因为我认为是编译顺序

 var express = require('express'), app = express(), bodyParser = require('body-parser'), mongoose = require('mongoose'), methodOverride = require('method-override'); // get all data/stuff of the body (POST) parameters app.use(bodyParser.json()); // parse application/vnd.api+json as json app.use(bodyParser.json({ type: 'application/vnd.api+json' })); // parse application/x-www-form-urlencoded app.use(bodyParser.urlencoded({ extended: true })); app.use(methodOverride('X-HTTP-Method-Override')); app.use('/js', express.static(__dirname + '/client/js')); app.use('/views', express.static(__dirname + '/client/views')); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.use('/node_modules', express.static(__dirname +'/node_modules')); require('./server/routes')(app); app.listen(3000); console.log('Im Listening...'); exports = module.exports = app; 

我是由PareshGami指导来查看这个网站的“build立一个意思是堆栈单页面应用程序” 。 之后,我可以让路由工作。 我的问题的关键是我的server.js文件和require('./server/routes')(app);的顺序require('./server/routes')(app); 部分。