Questions tagged «express»

Express是一个灵活的Node.js Web应用程序框架,为构建Web应用程序提供了一组强大的功能。

12
使用Node.js将HTML转换为PDF
我正在寻找创建pdf我网站网页的可打印版本。诸如express.render()仅将页面呈现为pdf 有人知道这样做的节点模块吗? 如果没有,您将如何实施?我已经看到一些关于使用无头浏览器的方法,例如phantom.js,但是不确定流程如何。

6
将Express中的特定中间件用于除特定路径之外的所有路径
我在带有一些中间件功能的node.js中使用Express框架: var app = express.createServer(options); app.use(User.checkUser); 我可以将.use函数与附加参数一起使用,以仅在特定路径上使用此中间件: app.use('/userdata', User.checkUser); 是否可以使用path变量,以便将中间件用于除特定路径(即根路径)以外的所有路径? 我在想这样的事情: app.use('!/', User.checkUser); 所以User.checkUser总是被调用,除了根路径。

2
Express和ejs <%=呈现JSON
在我的index.ejs中,我有以下代码: var current_user = &lt;%= user %&gt; 在我的节点中 app.get("/", function(req, res){ res.locals.user = req.user res.render("index") }) 但是,在页面上我获得 var current_user = [object Object] 如果我写 var current_user = &lt;%= JSON.stringify(user) %&gt; 我得到: var current_user = {&amp;quot;__v&amp;quot;:0,&amp;quot;_id&amp;quot;:&amp;quot;50bc01938f164ee80b000001&amp;quot;,&amp;quot;agents&amp;quot;:... 有没有一种方法可以传递JS可读的JSON ?
76 javascript  json  express  ejs 


1
在MongoDB和Mongoose中执行全文搜索的最佳方法
几天以来,我一直在Google上进行搜索,并且尝试了很多操作,但是仍然无法对用户集合进行良好的全文搜索。 我尝试了ElasticSearch,但几乎无法查询和分页... 我尝试了许多用于Mongoose的插件,例如ElMongo,mongoose-full-text,Mongoosastic等...每个人的文档都非常糟糕,我不知道如何执行良好的全文本搜索。 因此,我的收藏是普通收藏: user = { name: String, email: String, profile: { something: String, somethingElse: String } } 我在一个简单的页面中有一个搜索输入POST,如果输入的hello world话,我需要在整个集合字段中搜索搜索查询的匹配词并获取结果。 还有很多选项可以处理分页,例如每页10个项目等等。 实现此目标的最佳解决方案是什么?我在Mongoose,NodeJS和ExpressJS中使用MongoDB 2.6。*。 谢谢。

7
Node.js + express.js + passport.js:在服务器重新启动之间保持身份验证
我使用password.js在我的nodejs + express.js应用程序上处理身份验证。我设置了一个LocalStrategy以从mongodb吸引用户 我的问题是,当我重新启动节点服务器时,用户必须重新进行身份验证。这是一个问题,因为我正在积极开发它,并且不想在每次重新启动时都登录...(+我使用节点管理器) 这是我的应用设置: app.configure(function(){ app.use('/static', express.static(__dirname + '/static')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.session({secret:'something'})); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); }); 和会话序列化设置: passport.serializeUser(function(user, done) { done(null, user.email); }); passport.deserializeUser(function(email, done) { User.findOne({email:email}, function(err, user) { done(err, user); }); }); 我尝试使用connect-mongodb在博客上给出的解决方案(删除了链接,因为不再存在该链接)没有成功 app.use(express.session({ secret:'something else', cookie: {maxAge: 60000 * 60 * 24 * 30}, // …
75 node.js  express 

2
用于Express中路由匹配的正则表达式
我对正则表达式不太满意,因此我想确保自己正确执行了此操作。假设我有两条非常相似的路线,/discussion/:slug/和/page/:slug/。我想创建一个匹配这两个页面的路由。 app.get('/[discussion|page]/:slug', function(req, res, next) { ...enter code here... }) 这是正确的方法吗?现在,我只是在创建两条单独的路线。 someFunction = function(req, res, next) {..} app.get('/discussion/:slug', someFunction) app.get('/page/:slug', someFunction)
75 regex  node.js  express 



3
如何摆脱Connect 3.0弃用警报?
我是一个使用express.js创建Web应用程序的node.js开发人员。现在,我的问题是: 每当我在计算机上创建一个应用程序时,npm都会安装其内容并运行它(使用node app.js和nodemon),我会在控制台中收到以下消息: connect.multipart() will be removed in connect 3.0 visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives connect.limit() will be removed in connect 3.0 Express server listening on port 3000 该应用程序可以正常工作。但是,当我克隆在其他计算机上创建的应用程序时,没有收到该消息,因此我想我的计算机中有些东西已经过时了。 我去了消息中提到的站点,并确认了我的猜测。那是弃用警告。但是,我已经更新了node和npm并进行了全局表达,但是我仍然得到注释。 因此,我的问题是:我不知道我需要更新什么以摆脱弃用票据,因为它们使我感到惊讶。 我希望有一个人可以帮助我。非常感谢。

25
节点+ Express +护照:需求用户未定义
我的问题是类似这样的一个,但没有深入了解他的解决方案。 我正在使用Passport通过Instagram进行身份验证。成功通过身份验证后,用户将被定向到“ /”。在这一点上,请求具有用户对象(也可以正常工作)。但是,一旦我重定向,req.user是未定义的。:'( 奇怪的是,每个请求都会调用passport.deserializeUser。它成功获取了用户对象,但是在中间件的某个地方,未设置(或未设置)req.user。 // on successful auth, goto "/" app.get('/', function(req, res) { // if the request has the user object, go to the user page if (req.user) { res.redirect("/user/" + req.user._id); } res.render("index"); } app.get('/user/:uid', function(req, res) { console.log(req.user) // undefined }

2
在Express中使用URL中的多个参数
我将Express与Node一起使用,并且我有一个要求用户可以将URL请求为:http://myhost/fruit/apple/red。 这样的请求将返回JSON响应。 在上述调用之前,JSON数据如下所示: { "fruit": { "apple": "foo" } } 通过上述请求,响应JSON数据应为: { "apple": "foo", "color": "red" } 我已经配置了Express路由,如下所示: app.get('/fruit/:fruitName/:fruitColor', function(request, response) { /*return the response JSON data as above using request.params.fruitName and request.params.fruitColor to fetch the fruit apple and update its color to red*/ }); 但这是行不通的。我不确定如何传递多个参数,也就是说,我不确定是否/fruit/:fruitName/:fruitColor正确的方法。是吗?
73 node.js  express 

4
如何从nodejs / express向浏览器发送成功状态?
我在nodeJS / Expressjs服务器中编写了以下代码: app.post('/settings', function(req, res){ var myData = { a: req.param('a') ,b: req.param('b') ,c: req.param('c') ,d: req.param('d') } var outputFilename = 'config.json'; fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) { if(err) { console.log(err); } else { console.log("Config file as been overwriten"); } }); }); 这使我可以获取提交的表单数据并将其写入JSON文件。 这很完美。但是客户端仍然处于某种发布状态,并最终超时。因此,我需要将某种成功状态或成功标头发送回客户端。 我应该怎么做? 先感谢您!
73 forms  node.js  post  express 

5
在nodejs中排序findAll排序顺序
我正在尝试通过sequelize从数据库中输出所有对象列表,如下所示,并希望在我在where子句中添加id时对数据进行整理。 exports.getStaticCompanies = function () { return Company.findAll({ where: { id: [46128, 2865, 49569, 1488, 45600, 61991, 1418, 61919, 53326, 61680] }, attributes: ['id', 'logo_version', 'logo_content_type', 'name', 'updated_at'] }); }; 但是问题是渲染后,所有数据按如下进行整理。 46128, 53326, 2865, 1488, 45600, 61680, 49569, 1418, .... 正如我发现的那样,它既没有按ID也没有按名称排序。请帮我解决。

9
如何ungzip(解压缩)NodeJS请求的模块gzip响应主体?
如何在请求的模块响应中解压缩压缩的正文? 我已经在网上尝试了几个示例,但是似乎都没有用。 request(url, function(err, response, body) { if(err) { handleError(err) } else { if(response.headers['content-encoding'] == 'gzip') { // How can I unzip the gzipped string body variable? // For instance, this url: // http://highsnobiety.com/2012/08/25/norse-projects-fall-2012-lookbook/ // Throws error: // { [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' } // Yet, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.