草庐IT

expressive

全部标签

javascript - express 应用服务器。只听所有接口(interface)而不是本地主机

我对这些东西很陌生,正在尝试制作一些快速应用varexpress=require('express');varapp=express();app.listen(3000,function(err){if(err){console.log(err);}else{console.log("listen:3000");}});//somethingusefulapp.get('*',function(req,res){res.status(200).send('ok')});当我使用命令启动服务器时:nodeserver.js一切顺利。我在控制台上看到listen:3000当我尝试时curl

session - 使用 express/redis 进行 session 存储时,“ session ”未定义

我正在尝试在我的express应用中使用redis进行session。我执行以下操作:varexpress=require('express');varRedisStore=require('connect-redis')(express);app.configure('development',function(){app.use(express.session({secret:"password",store:newRedisStore({host:"127.0.0.1",port:"6379",db:"mydb"})}));稍后,在我的应用中,如果我执行以下操作:varwhate

node.js - Express.js 路由错误 : Can't set headers after they are sent

我不确定为什么会收到此错误。这是一个基于express.js构建的简单API,能够添加和删除帖子。当我触发删除路由器时发生错误。我读过这个错误通常发生在有两个回调时,但是,我似乎找不到任何双重回调。_http_outgoing.js:344thrownewError('Can\'tsetheadersaftertheyaresent.');Error:Can'tsetheadersaftertheyaresent.atServerResponse.OutgoingMessage.setHeader(_http_outgoing.js:344:11)atServerResponse.he

node.js - 使用 jasmine 测试 Express.js

我正在学习Node.js和Express框架。我是Jasmine的忠实粉丝。所以我想尽可能地使用jasmine,但是,我找不到用jasmine测试Express的好方法。例如,我应该如何在app.js中测试路由?如果我在app.js中有这条路线:app.get('/',function(req,res){...});如何使用jasmine进行测试? 最佳答案 从Jasmine2开始,在Node.js环境中使用Jasmine非常简单。测试express使用它的应用程序,我建议将Jasmine与supertest结合使用.下面是这样一个

node.js - 有没有办法通过 Express + Node.js 使用多个 View 引擎

场景:我使用Node.js开发了一些交易页面,Express+Handlebars作为View引擎和MongoDB.现在的问题是在模块集成期间,我得到了一些基于Express构建的页面+Jade作为View引擎。问题:如何集成基于Handlebars和一些基于Jade的页面? 最佳答案 添加两个引擎和consolidate.js在你的package.json在yourapp.jsvarengine=require('consolidate');app.engine('jade',engines.jade);app.engine('h

node.js - 当进程被杀死时,如何优雅地关闭我的 Express 服务器?

在生产中运行我的Express应用程序时,我想在服务器进程被终止时优雅地关闭服务器(即发送SIGTERM或SIGINT)。这是我的代码的简化版本:constexpress=require('express');constapp=express();app.get('/',(req,res)=>res.json({ping:true}));constserver=app.listen(3000,()=>console.log('Running…'));setInterval(()=>server.getConnections((err,connections)=>console.log(

node.js - 未调用 Express 4 中间件错误处理程序

对于某些页面,我的应用中有自定义500、404和403错误处理。因此,例如在数据库查询不成功后,我会去:returnnext({status:404,message:'Recordnotfound'});或returnnext(newError('Badthingshavehappened')});在我的中间件中,我有一个错误处理程序:app.use(function(err,req,res,next){//handleerror});问题是永远不会调用错误处理程序,而是将错误调用堆栈打印到浏览器中。我希望处理程序呈现自定义错误页面。app.jsvarexpress=require('

php - Express Web 框架中 session key 的重要性

我对sessionkey的重要性感到很困惑。我正在使用Express和Node进行Web开发,目前,我正在尝试实现一个简单的登录。以下代码取自Express中的session示例。//Requiredbysession()middleware//passthesecretforsignedcookies//(requiredbysession())app.use(express.cookieParser('keyboardcat'));//Populatesreq.sessionapp.use(express.session());它使用“键盘猫”作为sessionsecret。我环顾

javascript - 如何在 express js 中访问使用 app.set() 设置的变量

如何访问使用express的app.set()设置的变量例如app.set('viewengine','jade');app.set('jsDirectory',/js/');从指南中,我了解到我可以使用app.get()访问相同的内容,但这是console.log(app.get('viewengine'))的输出.{router:{app:{stack:[Object],domain:null,_events:[Object],_maxListeners:10,_connections:0,connections:[Getter/Setter],allowHalfOpen:true

node.js - 在 Express/EJS 模板中,循环数组的最简洁方法是什么?

我有一个使用EJS模板设置的Express.js应用程序。我用经典的JS语法成功循环了一个数组:但我想知道,有没有更清洁的方法来做到这一点?具体来说,我可以使用Underscore或Lodash循环遍历.each吗?谢谢 最佳答案 你可以使用forEach方法myArray.forEach(function(el,index){//el-currentelement,i-index}); 关于node.js-在Express/EJS模板中,循环数组的最简洁方法是什么?,我们在StackO