2016-03-08 5 views
1

Я пытаюсь получить библиотеку Toastr для работы в моем приложении ExpressJS! Я scaffolded приложение с YEOMAN 'стандарт' Экспресс-генератор ...express.js: show toastr message

Я необходимый Либерал express-toastr и сделал следующее:

app.js в:

const cookieParser = require('cookie-parser'); 
const session = require('express-session'); 
const flash = require('connect-flash'); 
const toastr = require('express-toastr'); 

app.use(cookieParser()); 
app.use(session({secret: 'xxx', saveUninitialized: true, resave: true})); 
app.use(flash()); 
app.use(toastr()); 

в index.js

const express = require('express'); 
const router = express.Router(); 
const httpntlm = require('httpntlm'); 

router.post('/', function (req, res, next) { 

    // parse inputs 
    let user = req.body.user || ""; 
    let password = req.body.password || ""; 

    // save in session 
    req.session.user = {user: user, password: password}; 

    // appropriate response to login attempt 
    if (!req.session.user) { 
     res.status(401).send(); 
    } 
    else { 
     req.toastr.success('Successfully logged in.', "You're in!"); 

     res.render('groups', { 
      req: req 
     }); 
    } 
}); 

module.exports = router; 

В index.jade

#{req.toastr.render()} 

я загружаю эти файлы в моем <head> разделе:

link(rel='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.2/css/toastr.min.css') 
script(src='/components/jquery/dist/jquery.min.js') 
script(src='//cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.2/js/toastr.min.js') 

Ничто не показывает. Что мне не хватает ???

- ОБНОВЛЕНИЕ! -

Вот мой полный файл app.js. Теперь я попытаюсь использовать экспресс-флеш и сделать выделенный маршрут для показа флэш-сообщения. Все еще не работает. Пожалуйста помоги!

'use strict'; 

const express = require('express'); 
const path = require('path'); 
const favicon = require('serve-favicon'); 
const logger = require('morgan'); 
const cookieParser = require('cookie-parser'); 
const bodyParser = require('body-parser'); 

const expressSanitizer = require('express-sanitizer'); 

const login = require('./routes/login'); 
const apply = require('./routes/apply'); 
const admin = require('./routes/admin'); 

var session = require('express-session'); 
var flash = require('express-flash'); 


var app = express(); 


// view engine setup 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 

// uncomment after placing your favicon in /public 
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: false})); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 






app.use(session({ 
    cookie: { maxAge: 60000 }, 
    store: new session.MemoryStore, 
    saveUninitialized: true, 
    resave: 'true', 
    secret: 'secret' 
})); 
app.use(flash()); 

// Route that creates a flash message using the express-flash module 
app.all('/express-flash', function(req, res) { 
    req.flash('success', 'This is a flash message using the express-flash module.'); 
    res.redirect(301, '/'); 
}); 







// sanitize inputs 
app.use(expressSanitizer()); 

app.use('/', apply); 
app.use('/apply', apply); 
app.use('/login', login); 
app.use('/admin', admin); 


// catch 404 and forward to error handler 
app.use(function (req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

// error handlers 

// development error handler 
// will print stacktrace 
if (app.get('env') === 'development') { 
    app.use(function (err, req, res, next) { 
     res.status(err.status || 500); 
     res.render('error', { 
      message: err.message, 
      error: err 
     }); 
    }); 
} 

// production error handler 
// no stacktraces leaked to user 
app.use(function (err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: {} 
    }); 
}); 

module.exports = app; 

ответ

0

Поэтому я не знаком с вашим синтаксисом в файле index.jade (! =). Что оно делает? Если вы измените эту строку в своем индексе на # {req.toastr.render()}, она должна работать.

+0

Я попробовал ваше предложение, но все еще не работал. Вы можете заставить его работать? Синтаксис! = Для экранирования кода. Я неправильно понял, где его использовать! http://jade-lang.com/reference/code/ – olefrank

Смежные вопросы