├── app.coffee ├── config.coffee ├── models │ └── example.coffee ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets ├── routes │ ├── index.coffee │ └── root.coffee ├── run-cluster.js └── run.js
exports.start = () -> log = require('logule') # log.debug "Spawning new worker" require 'coffee-script' # , .coffee require ### Basic dependencies ### express = require 'express' app = module.exports = express.createServer() app.__ = require 'underscore' # app.mongoose = require 'mongoose' # ODM MongoDb, and yes, it's web scale app.log = log # config = require('./config.coffee')(app,express) # models = {} # models.example= require('./models/example')(app.mongoose).model # require('./routes/index.coffee')(app, models) # , port = process.env.PORT || 5000 # Heroku app.listen port log.info "Express server listening on port #{port}"
module.exports = (app, express) -> config = this app.configure -> app.use express.bodyParser() app.use express.methodOverride() app.use app.router app.use express.static(__dirname + '/public') app.configure 'development', () -> app.use express.errorHandler({dumpExveption: true, showStack: true}) # "" app.mongoose.connect process.env.MONGOLAB_URI || "mongodb://localhost/skel" # heroku app.configure 'production', () -> app.use express.errorHandler() app.mongoose.connect "mongodb://localhost/production" return config
module.exports = (mongoose) -> Schema = mongoose.Schema ObjectId = Schema.ObjectId #Comment = mogoose.model('Comment') # , mongoose. PostSchema = new Schema { author : { type:ObjectId, index:true } date : Date, content : String #, comments : [Comment] # } this.model = mongoose.model('Post', PostSchema) # return this
{ "name": "mr-skel" , "version": "0.0.1" , "private": true , "engines": { "node": "0.6.x", "npm": "1.xx" } , "dependencies": { "express": "2.5.x" , "mongoose": "2.6.x" , "mongoose-types": "*" , "underscore": "*" , "coffee-script": "*" , "logule": "0.xx" }, "devDependencies": { "forever": "*" , "mocha": "*" , "should": "*" } }
routes = {} routes.root = require('./root.coffee') module.exports = (app, models) -> app.get '/', routes.root.getIndex(models) # , models root.cofee
exports.getIndex = (models) -> (req, res) -> Post = models.example Post.find {}, (err, posts) -> if err? return res.send 500 res.json { status: 'Ba dum tssh', meta: posts }
cluster = require('cluster'); log = require('logule'); require('coffee-script'); if (cluster.isMaster) { log.info("Master have just started"); # i = - for (i = 1; i <= 2; i++) { cluster.fork(); } cluster.on('death', function(worker) { log.error("Worker " + worker.pid + " died!"); return cluster.fork(); }); } else { app = require('./app.coffee'); app.start() }
require('coffee-script'); app = require('./app.coffee'); app.start();
Source: https://habr.com/ru/post/143538/
All Articles