Para rodar o projeto é importante instalar suas dependencias que já estão adicionadas no package.json
:
npm install
O projeto tem como objetivo mostrar como criar um projeto usando angularjs + nodejs
sem ter problemas com as rotas do angularjs
conflitarem com as rotas da API do nodejs
.
Para o codigo abaixo deve ser levado em consideração a localização do arquivo routesWeb.js
.
Local: web/routes/routesWeb.js
'use strict';
var express = require('express');
var path = require('path');
module.exports = function(app) {
var path_web = path.resolve(__dirname, '..');
var path_origin = path.resolve(__dirname, '../../');
app.use('/scripts',express.static(path_web + '/scripts'));
app.use('/pages',express.static(path_web + '/pages'));
app.use('/node_modules',express.static(path_origin + '/node_modules'));
app.route('/*')
.get(function(req, res){
res.sendFile(path_web + '/pages/ng-index.html');
});
}
Para o codigo abaixo deve ser levado em consideração a localização do arquivo pessoaRota.js
.
Local: api/routes/pessoaRota.js
'use strict';
module.exports = function(app) {
var pessoasCtrl = require('../controllers/pessoasController');
app.route('/api/pessoas')
.get(pessoasCtrl.obter_todos_pessoas);
app.route('/api/pessoas/:pessoaId')
.get(pessoasCtrl.obter_pessoa_por_id);
app.route('/api/pessoasFeias')
.get(pessoasCtrl.obter_pessoas_feias);
};
É importante lembrar que as rotas da API deve ser chamadas primeiro que as rotas do angularjs.
var express = require('express');
var app = express();
var port = process.env.PORT || 3000;
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
app.use(bodyParser.json());
app.use(cookieParser());
var server = app.listen(port, function(){
var host = server.address().address;
var port = server.address().port;
console.log("Aplicação está on nesse endereço http://%s:%s", host, port)
});
require('./api/routes/pessoaRota.js')(app);
require('./web/routes/routesWeb.js')(app);
Agora é só configurar as rotas do seu projeto angularjs e ser feliz.
Rotas do angularjs no projeto: web/scripts/ng-routes.js
Paginas criadas no projeto: web/pages/