javascript - How can I export a string from a file and require() the exported string on another file in NODE.js? -



javascript - How can I export a string from a file and require() the exported string on another file in NODE.js? -

my directory construction this:

class="lang-none prettyprint-override">collegesapp ├── node_modules │ ├── express │ ├── connect │ ├── jade │ └── passport ├── routes │ └── routes.js ├── views │ ├── index.jade │ └── signin.jade ├── app.js └── package.json class="lang-js prettyprint-override">exports.serialized_user = serialized_user; //in app.js file *the variable serialized_user returns "alex" var serialized_user = require('../app.js').serialized_user; //in routes.js file

so, when add together console.log(typeof(serialized_user)) routes.js file , run application, end seeing undefined in console instead of "string" , when add together console.log(serialized_user) routes.js file , run application, end seeing nil in console instead of "alex".

what think problem? give thanks in advance :)

here entire app :

//app.js file

var express = require('express');

var connect = require('connect'); var passport = require('passport'); var localstrategy = require('passport-local').strategy; var mongoose = require('mongoose'); var mongodb = require('mongodb'); var bodyparser = require('body-parser'); var methodoverride = require('method-override');; var servestatic = require('serve-static'); var errorhandler = require('errorhandler'); var routes = require('./routes/routes.js'); var user_model = require('./models/user_model.js'); var app = express(); //configuration app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(bodyparser.json()); app.use(bodyparser.urlencoded({extended: false})); app.use(methodoverride()); app.use(express.router()); app.use(servestatic(__dirname + '/public_assets')); app.use(passport.initialize()); app.use(passport.session()); if('development' == app.get('env')){ app.use(errorhandler({dumpexceptions:true,showstack:true})); } if('production' == app.get('env')){ app.use(errorhandler()); } //user authentication on sign in passport.use('signin_local_strategy', new localstrategy( function(username,password,done){ user_model.findone({username: username}, function(err, user){ if(err) { return(done(err)); } if(!user) { return(done(null,false)); } if(user.password != password) { return(done(null,false)); } return(done(null,user)); }); } )); var serialized_username; passport.serializeuser(function(user, done){ done(null, user.id); serialized_user = user.username; console.log(serialized_user); //<<--- returns "alex" console.log(typeof(serialized_user)); //<<--- returns string }); exports.serialized_user = serialized_user; passport.deserializeuser(function(done,user){ user_model.findbyid(function(id, err){ done(err,user); }) }); //routes app.get('/', routes.indexresponsehandler); app.get('/signin', routes.signinresponsehandler); app.get('/signup', routes.signupresponsehandler); app.get('/profile', routes.userprofileresponsehandler); app.get('/failure', routes.signinerrorresponsehandler); app.post('/signin', passport.authenticate('signin_local_strategy', { successredirect:'/profile', failureredirect: '/failure'}) ); app.get('/db', routes.dbquery); app.listen(3000);

//routes.js

var user_model = require('../models/user_model.js'); var serialized_user = require('../app.js').serialized_user; exports.indexresponsehandler = function (req, res){ res.render('index', {title: "college clubs mn"}); } exports.signinresponsehandler = function (req, res){ res.render('signin', {title:"college clubs mn | sign in"}); } exports.signupresponsehandler = function(req, res){ res.render('signup', {title: "college clubs mn | sign up"}); } exports.userprofileresponsehandler = function(req, res){ console.log(typeof((serialized_user))); //logs undefined supposed logstring res.send(typeof((serialized_user))); //<<-- shows undefined supposed homecoming string } exports.signinerrorresponsehandler = function(req, res){ res.send("faild sign in ! :("); }

//user_models.js

var mongoose = require('mongoose'); var schema = mongoose.schema; mongoose.connect(--);//connected db var userschema = new schema({ username : string, password : string, hometown : string, age : number }, {collection : 'user'}); var user_model = mongoose.model('user', userschema); module.exports = user_model;

in app.js:

module.exports = { 'serialized_user': serialized_user };

and access with

var serialized_user = require('../app.js') console.log(serialized_user.serialized_user):

and maybe have @ this: http://www.sitepoint.com/understanding-module-exports-exports-node-js/

javascript node.js express passport.js circular-dependency

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -