Soy bastante nuevo en esto, así que espero estar haciendo la pregunta correcta y abordar esto de la manera correcta. Estoy tratando de obtener datos del servidor. Lo pasé con éxito a través de una ruta a una página de pug, pero el javascript en esa página no tiene acceso a estos objetos. Aquí está el código del servidor. También se publicó el javascript del lado del cliente donde no tengo acceso a los objetos pasados a la página pug.
router.get('/stockView', ensureAuthenticated, function(req, res, next){ var s = req.user.stocks; var t = []; // get array of stock symbols for(var stock in s) { if (isNaN(parseInt(stock))) { } else { s.push(req.user.stocks[stock].symbol); } } //pull historic data from yahoo-finance yahooFinance.historical({ symbols: ['AAPL','YHOO'], from: '2012-01-01', to: '2012-02-28', period: 'd' // 'd' (daily), 'w' (weekly), 'm' (monthly), 'v' (dividends only) }, function (err, quotes) { if(err){ // do nothing }else{ res.render('stockView', {title: 'Stock View', user: req.user, stocks: quotes, mystocks: s, tickers: t }); } }); }); // *********javascript code in stockView.pug file**************** script(type='text/javascript'). $(function(){ var tickers = #{title};No funciona así, Pug le permite manejar solo la vista y, por lo tanto, representa directamente la vista html allí. Pug solo puede representar vistas (HTML), no podrá darle acceso a javascript a las variables disponibles para pug.
Puede usar Ajax o Socket.io en su lugar para que su código javascript en el lado del cliente esté conectado con el código javascript que escribe en el lado del servidor.
Es por eso que tenemos tecnologías como socket.io y ajax, que permiten que el lado del cliente esté en contacto con el backend y con Node prefiero usar Socket.io.