express.js:显示toastr消息

时间:2016-03-08 14:50:04

标签: node.js express pug toastr

我试图让Toastr库在我的ExpressJS应用程序中工作!我用自耕农的标准搭建了应用程序'快速发电机......

我需要lib 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文件。我现在尝试使用express-flash并制作专用路径来显示flash消息。还是行不通。请帮忙!

'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;

2 个答案:

答案 0 :(得分:1)

尝试在您的 app.js 中使用此中间件,我发现了这个here

import pandas as pd

# start data:
df = pd.DataFrame({
        'Time': ['2019-08-02 09:50:10.1', '2019-08-02 09:50:10.1', '2019-08-02 09:50:10.2',
                 '2019-08-02 09:50:10.3', '2019-08-02 09:50:10.4', '2019-08-02 09:50:10.4',
                 '2019-08-02 09:50:10.5', '2019-08-02 09:50:10.5',
                 '2019-08-02 09:50:10.6', '2019-08-02 09:50:10.6'],
        'Code': ['A', 'C', 'X', 'Y', 'A', 'B', 'X', 'A', 'Z', 'L'],
        })

#start data:
hdict = {'1': ['A', 'B'],
         '2': ['X', 'Y', 'Z'],
         '3': ['D']
         }

# "reverse dictionary"
reversed_hdict = {}
for k, v in hdict.items():
    for element in v:
        reversed_hdict[element] = k

print(reversed_hdict) # what dictionary we have now

# add new column by apply method:
df["new_column"] = df['Code'].apply(lambda x: reversed_hdict.get(x))

# check what we have now
print(df)

# print without None rows
print(df.dropna())

,然后按如下所示访问您视图中的本地人:

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
  console.log("start");
});

client.on('message', message => {
  if (message.content == "бот") {
    message.channel.send("моя_статья");
  }
});

client.login('<Discord Token Here>');

这对我有用。

答案 1 :(得分:0)

所以我不熟悉index.jade文件中的语法(!=)。它有什么作用?如果您将索引中的那一行更改为#{req.toastr.render()},它应该可以正常工作。