├── app.js ├── db ├── index.js └── ru.json ├── logger.js ├── server.js └── user └── index.js /app.js: -------------------------------------------------------------------------------- 1 | var server = require('./server'); 2 | 3 | server.run(); 4 | -------------------------------------------------------------------------------- /db/index.js: -------------------------------------------------------------------------------- 1 | var phrases; 2 | exports.connect = function () { 3 | phrases = require('./ru'); 4 | }; 5 | 6 | exports.getPhrase = function (name) { 7 | if (!phrases[name]) { 8 | throw new Error(`Your phrase doesn't exists ${name}`); 9 | } 10 | 11 | return phrases[name]; 12 | }; 13 | -------------------------------------------------------------------------------- /db/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "Hello": "privet", 3 | "Run successful": "Run successful" 4 | } 5 | -------------------------------------------------------------------------------- /logger.js: -------------------------------------------------------------------------------- 1 | module.exports = function (module) { 2 | return function () { 3 | var args = [module.filename].concat([].slice.call(arguments)); 4 | console.log.apply(console, arguments); 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const db = require('./db'); 2 | db.connect(); 3 | 4 | const User = require('./user'); 5 | 6 | function run() { 7 | const vasya = new User('vasia'); 8 | const petya = new User('petya'); 9 | 10 | vasya.hello(petya); 11 | console.log(db.getPhrase('Run successful')); 12 | } 13 | 14 | if (module.parent) { 15 | exports.run = run; 16 | } else { 17 | run(); 18 | } 19 | -------------------------------------------------------------------------------- /user/index.js: -------------------------------------------------------------------------------- 1 | const db = require('../db'); 2 | var log = require('../logger')(module); 3 | 4 | function User(name) { 5 | this.name = name; 6 | } 7 | 8 | User.prototype.hello = function (who) { 9 | log(`${db.getPhrase('Hello')}, ${who.name}`); 10 | }; 11 | 12 | module.exports = User; 13 | //exports.User = User; 14 | //global.User = User; 15 | 16 | // console.log(module); 17 | --------------------------------------------------------------------------------