Saturday, June 24, 2017

Node.js


  • exports
exports.area = function (r) {// foo.js
  • OOP
Duck.prototype = {module.exports = Duck;

var RedDuck = function(name, nums){RedDuck.prototype = new Duck();
// MallardDuck.jsvar MallardDuck = function(name, nums){MallardDuck.prototype = new Duck();MallardDuck.prototype.constructor =  MallardDuck;
// main.jsvar RedDuck = require('./RedDuck');var a = new MallardDuck("mallard",[1,1,1]);a.swim();var b = new RedDuck("red",[2,2,2]);b.swim();
// circle.js
var PI = Math.PI

  return PI * r * r;
};

var circle = require('./circle.js');
console.log(circle.area(4));


// Duck.js
var Duck = function( name, nums ){
    this.name = name;
    this.nums = nums; // 배열
};

    swim : function() {
        console.log("swim!!");
    },
    getName : function(){
        return this.name;
    },
    getNumList : function(){
        return this.nums;
    }
};


// RedDuck.js
var Duck = require('./Duck');

    Duck.call( this, name, nums );
};

RedDuck.prototype.constructor = RedDuck;


module.exports = RedDuck;

var Duck = require('./Duck');

    console.log(arguments);
    Duck.apply( this, arguments );
};

// 함수 Override
MallardDuck.prototype.swim = function () {
    console.log("MallardDuck swim!!!")
};



module.exports = MallardDuck;

var Duck = require('./Duck');

var MallardDuck = require('./MallardDuck');


console.log(a.getName());
console.log(a.getNumList());


console.log(b.getName());

console.log(b.getNumList())


  • Swagger
    • swagger project create <name>
    • in app.js:
var SwaggerUi = require('swagger-tools/middleware/swagger-ui');

in create():
app.use(SwaggerUi(swaggerExpress.runner.swagger));

  • create settings.js in config:

module.exports = {
  db: 'mongodb://mongo/vote',
  port: '9100',
};

  • create directory "models"
    • create index.js

var mongoose = require('mongoose');
var settings = require('../config/settings');

mongoose.connect(settings.db, function (err) {
  if (err) {
    console.error('connect to %s error: ', settings.db, err.message);
    process.exit(1);
  }
});

// models
require('./vote');

var Vote = mongoose.model('Vote');

module.exports = {Vote};


    • create vote.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var VoteSchema = new Schema({
  Result: Number
});

module.exports = mongoose.model('Vote', VoteSchema);