mam ten kod (który doskonale działa dobrze), który mam pożyczone z zasobów internetowych:Korzystanie wymagać bez eksportu
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;
Bit Nie rozumiem to „wymaga” użyte w ten sposób ? Oto plik przynosi w:
//db.js
var mongoose = require('mongoose');
var dbURI = <theURI>;
mongoose.connect(dbURI);
// CONNECTION EVENTS
mongoose.connection.on('connected', function() {
console.log('Mongoose connected successfully');
});
Tak samo jest z moim związku 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");
});
ale jak widać nie ma nigdzie w module.exports
db.js
lub cache.js
plików! Kiedy google to zrozumieć, jak to działa, przykłady zawsze mówią o module.exports
i require
razem.
Pytania
Może ktoś wyjaśnić, jak wymagają prace kiedy stosuje się w monoterapii jak to?
Jak mogę udostępnić cache/połączenie Redis tak, że może on być stosowany w moim
userRoutes
pliku za coś takiego:var userRoutes = require('./routes/user')(redis);
Możesz zdecydowanie eksportować połączenie mangusty do wykorzystania w innych modułach jako odniesienie do DB. Po prostu Google to (np. Eksport połączenia mangusta), a znajdziesz wiele przykładów. –
Mój kod działa poprawnie i mogę wysłać zapytanie do bazy danych z pliku tras, ale nie rozumiem, w jaki sposób! – tommyd456
Doskonałe pytanie! Dziękuję za pytanie. Pomogło mi to zrozumieć wiele rzeczy i wykonać moją pracę! – kirtan403