gpt4 book ai didi

node.js - 从 Jade 内部获取用户代理

转载 作者:IT老高 更新时间:2023-10-28 23:23:42 26 4
gpt4 key购买 nike

我正在尝试将我为 groovy 编写的脚本移植到 Jade,但遇到了绊脚石

我需要从一个jade 文件中访问用户代理。到目前为止,这是我尝试过的:

 - var agent = req.headers['user-agent'];
- var agent = headers['user-agent'];
- var agent = navigator.userAgent;

每次我从 express 收到 500 错误。这甚至可能吗?

我知道我可以在模块中执行此操作并将其传递给渲染语句,但这意味着将其传递给每个渲染,因为它需要是全局的。

对 node 很陌生,很困惑。谢谢。

最佳答案

只需编写自己的微型中间件

app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});

把它放在你的 app.router

之前
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());

// here
app.use(function(req, res, next) {
res.locals.ua = req.get('User-Agent');
next();
});

app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});

然后你可以在任何jade模板中使用ua变量(例如index.jade)

extends layout

block content
h1= title
p Welcome to #{title}
p=ua

关于node.js - 从 Jade 内部获取用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com