i'm learning mean stack , have found myself load order issue doesn't seem make sense.
the below code shows server.js loading routes file, in turn pulls in controller model, in turn requires model itself.
if don't include reference model routes.js missingschemeerror when startup server. why? missing regarding loading of resources?
my understanding exports file imported require() prior attempting run code.
server.js
// modules ================================================= var express = require('express'); var bodyparser = require('body-parser'); var methodoverride = require('method-override'); var mongoose = require('mongoose'); var morgan = require('morgan'); var app = express(); // configuration =========================================== // config files var db = require('./config/db'); // set our port var port = process.env.port || 8080; // connect our mongodb database mongoose.connect(db.url); // data/stuff of body (post) parameters // parse application/json app.use(bodyparser.json()); // parse application/vnd.api+json json app.use(bodyparser.json({ type: 'application/vnd.api+json' })); // parse application/x-www-form-urlencoded app.use(bodyparser.urlencoded({ extended: true })); // override x-http-method-override header in request. simulate delete/put app.use(methodoverride('x-http-method-override')); // set static files location /public/img /img users app.use(express.static(__dirname + '/public')); // set morgan log requests app.use(morgan('dev')); // routes ================================================== require('./app/routes')(app); routes.js
//this line problem. why needed? var customer = require('./models/customer'); // <-- var customers = require('./controllers/customer-server-controller'); module.exports = function(app) { app.route('/api/customers') .get(customers.list); //.post(customer.create); } customer-server-controller.js
var mongoose = require('mongoose'); var customer = mongoose.model('customer'); /** * list of customers */ exports.list = function(req, res) { customer.find().sort('-created').exec(function(err, customers) { if (err) { return res.status(400).send({ message: "error: " + err }); } else { res.jsonp(customers); } }); }; got portion of biolerplate this tutorial on scotch.io
i take you're missing model tutorial
you should have somewhere.
create models folder , add todo.js , add following:
// define model ================= var todo = mongoose.model('todo', { text : string });
Comments
Post a Comment