У меня есть этот код (который отлично работает), который я заимствовал из онлайн-ресурса:
var express = require('express');
var bodyParser = require('body-parser');
var logger = require('morgan');
var app = express();
require('./init/db');
require('./init/cache'); //Bring in Redis
//Define Routes
var userRoutes = require('./routes/user');
module.exports = app;
Бит, который я не понимаю, "требуется" при использовании таким образом? Вот файл, который он вносит:
//db.js
var mongoose = require('mongoose');
var dbURI = <theURI>;
mongoose.connect(dbURI);
// CONNECTION EVENTS
mongoose.connection.on('connected', function() {
console.log('Mongoose connected successfully');
});
То же самое с моим соединением Redis:
//cache.js
var redis = require("redis");
var redisClient = redis.createClient(process.env.CACHE_PORT, process.env.CACHE_URL);
redisClient.auth(process.env.CACHE_PASS);
redisClient.on("ready", function () {
console.log("Cache is connected");
});
но, как видите, в файлах db.js
или cache.js
нет module.exports
! Когда я google это, чтобы понять, как это работает, примеры всегда говорят о module.exports
и require
вместе.
Вопросы
-
Может ли кто-нибудь объяснить, как нужно работать, когда он используется сам по себе?
-
Как я могу сделать доступ к кешу /Redis доступным, чтобы его можно было использовать в моем файле
userRoutes
, используя что-то вроде:var userRoutes = require('./routes/user')(redis);