草庐IT

expressive

全部标签

node.js - 在 express/node.js 中分离模型、逻辑和 DAO

分离express应用程序的不同层的最佳方法是什么,这样我的app.js文件就不会塞满各种功能?我来自Java世界,所以我通常将模型、业务逻辑和DAO代码放在不同的层中。另一个困扰我的问题是:如何在app.js中打开与数据库的连接,然后在需要访问它的各种代码段之间共享该连接?不是路由函数,而是业务逻辑模块。 最佳答案 将此项目视为单独的文件,如下所示:https://github.com/lethus/popbrokerroutes.js-我们在这里放置路由,通常引用Controllermodels.js-模型在这里放MongoDB

node.js - 既然 connect 不再使用 parseCookie 方法,那么我们如何使用 express 获取 session 数据呢?

在node.js和express中,有很多例子展示了如何获取session数据。Node.jsandSocket.ioExpressandSocket.io-TyingitallTogetherSocket.ioandSession?当您访问第三个链接时可以看到,它是指向StackOverflow的链接。有一个很好的答案,但正如@UpTheCreek在这些评论中指出的那样,connect不再具有parseCookie方法。我也遇到了这个问题。我发现的所有教程都使用了现在不存在的connect的parseCookie方法。所以我问他我们如何获得session数据,他说他不知道最好的方法,

node.js - 如何使用 Node 和 Express 建立客户/客户风格的子域

如何让客户在域中使用其组织名称访问SaaS?例如,网络应用example.com可能有2个客户,OrgA和OrbB。登录后,每个客户都会被重定向到他们的网站orga.example.com/orgb.example.com。一旦包含子域的请求到达Node服务器,我希望用单个'/'路由处理请求。在路由处理程序内部,它只是检查主机header并将子域视为组织的参数。比如:app.get"/*",app.restricted,(req,res)->console.log"/*hitwith#{req.url}from#{req.headers.host}"domains=req.header

node.js - 使用 NGINX + Express 进行 URL 指纹识别/主动缓存

在NGINX(代理)和Node/Express堆栈中处理激进缓存和URL指纹识别的推荐技术是什么?Google推荐给"usefingerprintingtodynamicallyenablecaching."在他们的最佳实践指南中,这正是我想要实现的目标。我已经研究了很多不同的指纹识别方法,但我很难理解在什么情况下这些方法实际上会生成一个新的指纹,以及最好放在开发管道的哪个部分。我之前假设如果文件上的“Last-Modified”发生更改,那么服务器将生成另一个指纹,但现在似乎还不是这样。(除非我配置错误)这里有几种不同的方法:运行时指纹识别dactyloscopestatic-ass

node.js - NodeJS Express - 全局唯一请求 ID

是否可以在不将记录器交给每个方法/函数调用的情况下定义包含在每个日志语句中的唯一请求ID?使用的技术:NodeJS、Express、Winston 最佳答案 已编辑最后,我创建了一个可以完成所有工作的库。https://github.com/davicente/express-logger-unique-req-id它是Winston库的包装器,因此您可以以相同的方式使用它。如果对你有帮助,请告诉我我们在几个项目中都遇到了同样的问题,我找不到任何完整的解决方案。我们使用相同的技术(Node.js、Express.js和Winston

node.js - 使用 ES6 import + export 关键字和 Babel 导入/导出 Express 路由器

我有一个最初使用Express2.X构建的旧测试项目。我将其移至Express4.x并尝试插入Babel6.x以在服务器端试验ES6功能。Express4.x更新正常。原始应用程序运行良好。当我开始添加ES6功能时,问题就出现了。特别是,我想用ES6import{...}from...替换所有require和module.export指令和export{...}.问题:我似乎无法将外部文件中的路由导入到主app.js文件中。我的app.js像这样加载路由:import{indexRoute}from'./routes/index_route';app.use('/',indexRout

node.js - 如何在 node.js/express 中测试受 csrf 保护的端点

我已经以这样的方式实现了csrf(跨站点请求伪造)保护:...app.use(express.csrf());app.use(function(req,res,next){res.cookie('XSRF-TOKEN',req.csrfToken());next();});...这很好用。Angularjs在通过$http服务发出的所有请求中都使用了csrftoken。我通过我的Angular应用程序提出的请求非常有效。我的问题是测试这些api端点。我正在使用mocha来运行我的自动化测试和请求模块来测试我的api端点。当我使用请求模块向使用csrf(POST、PUT、DELETE等)

javascript - express.static 与 res.sendFile

有什么区别,我应该使用哪个?我的目标是简单地提供静态html页面和文件。router.use('/',express.static(path.resolve(public+'/index.html')))或router.get('/',function(req,res){res.sendFile(path.resolve(public+'/index.html'))}) 最佳答案 静态中间件和sendFile()基本相同-它们都将文件流通过管道传输到响应流。不同之处在于express.static会:设置ETag给你允许您设置扩展后

node.js - 如何在 express 服务器内进行外部 API 调用?

您好,我一直在尝试在我的仪表板上实现OneSignalAPI,我想知道是否可以在Express服务器内进行API外部调用。这是一个例子:varsendNotification=function(data){varheaders={"Content-Type":"application/json;charset=utf-8","Authorization":"BasicNGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj"};varoptions={host:"onesignal.com",port:443,path:"/api/v1/noti

node.js - 在授权路由中使用 express.static 中间件

我正在使用带有express和passportjs的Node来限制对位于私有(private)文件夹中的文件的访问。我已将我的代码减少到以下内容。公共(public)静态文件夹中的所有内容都运行良好,但通过使用staticMiddleware定位私有(private)文件夹的路由返回404错误。varexpress=require('express'),util=require('util');varapp=express.createServer();varstaticMiddleware=express.static(__dirname+'/private');app.config