sorun required('../app')
çağrıldığında ne yapacağını tanımlanmamış olmasıdır. Aşağıda gösterildiği gibi module.exports
kullanarak yapmalısınız. Bu sorunu çözmek için bu yaklaşımlardan birini deneyin.
Yaklaşım 1:
app.js
dosyasına bu satırı ekleyin.
module.exports = app;
Bu sadece require('../app')
çağrıldığında app
ihracat söylüyor.içinde require('routes/settings');
kullanırsanız, bu satır require('routes/settings');
'dan önce yerleştirilmeli veya çalışmaz.
Yaklaşım 2:
//change the `routes/settings.js` like this
module.exports = function (app) {//notice that you pass the app to this
//............
var dir = app.get('multimedia');
console.log(dir);
//............
}
app.js
require('routes/settings')(app);
bu satırı ekleyin Artık sorunsuz app.get() kullanmak gerekir.
Örnek: module.exports yaklaşık
//app.js
var express=require('express');
var app = express();
app.set('multimedia', __dirname + '/public/multimedia');
app.get('/',function(req,res){
res.send('Hello World!');
});
var server = app.listen(3000, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Listening at http://%s:%s', host, port);
});
module.exports=app;
require('./settings');
//settings.js
var app= require('./app');
var dir = app.get('multimedia');
console.log(dir);
Daha fazla bilgi
function settings(app) {
console.log(app);
// etc...
}
module.exports = settings;
app.js olarak settings.js olarak here
benzer soru ve çözümü burada bakınız: http://stackoverflow.com/questions/34301795/node-js-passing-object-from- sunucu js-to-dış-modüller/34301907 # 34301907 – admix