jjzjj

middleware

全部标签

javascript - Expressjs : How to share route middleware accross routes

我已经定义了多个路由中间件,并希望在多个路由/Controller之间共享它们。这是我的设置:app.js需要./routes/index.js://loadfsmodulevarfs=require('fs');//importroutingfilesmodule.exports=function(app){fs.readdirSync(__dirname).forEach(function(file){if(file=="index.js")return;varname=file.substr(0,file.indexOf('.'));require('./'+name)(app)

javascript - 如何在 express.js 中创建动态中间件链

我目前正在开发一个API管理器来控制现有API的项目。它包含“之前”和“之后”中间件的列表,用于执行安全检查和日志记录等操作。还有一个“服务”中间件,用于对现有API进行http请求。但问题是我想让中间件的执行顺序是动态的,这意味着我可以加载一些配置文件来更改每次收到请求时中间件的执行顺序。这是我之前的代码:'usestrict';//Loadingtheexpresslibraryvarexpress=require('express');varapp=express();varservice=require('./routes/index');//Testingconfigurab

javascript - 使用 mustache 模板在 Express 中提供静态文件

我正在尝试从Express提供一个包含静态mustache文件的文件夹,但似乎无法弄清楚如何让它工作。假设我只有一个数据对象,例如{a:'Hello:)'b:'Goodbye:('}还有两个文件,public/a.html{{a}}public/b.html{{b}}我如何才能快速设置为任意数量的静态html文件提供服务并仅用我的一个大对象替换模板化部分?谢谢! 最佳答案 静态文件通常只有在发送给用户之前没有以任何方式处理时才称为static。您要实现的是一个典型的模板系统。您可以按照plugin中的说明进行操作。:varmusta

javascript - 如何更改 Sails JS 中间件的默认配置

我正在尝试更改SailsJS应用程序的设置,并且有点麻烦将参数传递给body-Parser以更改默认设置。我之前遇到过这里描述的问题:Postinglargerfiles我相信这个问题已经通过更改默认的“限制”选项得到正确回答,因为100kb默认大小减去formData对象的33%开销与我可以/不能发送的文件大小非常一致。所以提出的解决方案是这样的:varbodyParser=require('body-parser');...app.use(bodyParser.urlencoded({limit:1048576}));但我无法在我的Sails应用程序中实现该解决方案。我已经阅读了S

javascript - 多次调用 Express 中间件

我检查了与此主题相关的其他帖子,但在我的代码中找不到问题。constmyMiddleware=(fn)=>{return(req,res,next)=>{varfullUrl=req.protocol+'://'+req.get('host')+req.url;console.log(fullUrl)next()}}constapp=express()app.use('/dist',express.static(__dirname+'/client/dist'))app.use('/static',express.static(__dirname+'/client/static'))a

javascript - react redux promise middleware 如何将结果 action 发送到 dispatch?

我正在尝试通过reactredux了解promises的中间件docs但不理解下面的then部分:constvanillaPromise=store=>next=>action=>{if(typeofaction.then!=='function'){returnnext(action)}returnPromise.resolve(action).then(store.dispatch)}then如何知道要分派(dispatch)什么?该操作没有像这样的参数传递returnPromise.resolve(action).then(function(action){store.dispa

javascript - 如何在不使用 bodyParser 中间件的情况下获取 Express 中的 POST 字段?

对于最新版本的Express,建议(通过调试消息传达)是停止使用bodyParser中间件。我读了一点,它看起来像bodyParser是json和urlencoded中间件的包装器-你瞧,最新版本的Express(3.4.4)使用这些2而不是开箱即用的bodyParser-很棒,对吧?但是现在,我不能去我的田地了。req.body未定义。这是我的JS表单提交代码(只有文本字段,没有文件)。有人可以告诉我我使用req的哪个属性/函数来获取值吗?varformData=newFormData($('#myForm')[0]);$.ajax({url:'/myurl',cache:false

javascript - 类型错误 : getState is not a function when adding middleware to Redux

在我的configureStore.dev.js文件中使用此代码,在添加applyMiddleware(reduxImmutableStateInvariant)时,我得到一个UncaughtTypeError:getStateisnotafunction。当我删除这个添加的中间件时,我的项目运行正常。添加此中间件的正确方法是什么?这是完整的文件:import{createStore,compose,applyMiddleware}from'redux';importrootReducerfrom'../reducers';importreduxImmutableStateInvari

javascript - 在 "Actions must be plain objects. Use custom middleware for async actions."中使用 Jest 模拟结果

我有几个Redux-Thunk风格的函数,可以在一个文件中分派(dispatch)其他操作。其中一个Action将另一个作为其逻辑的一部分进行分派(dispatch)。它看起来类似于:exportconstfunctionToMock=()=>async(dispatch)=>{awaitdispatch({type:'abasicaction'});};exportconstfunctionToTest=()=>async(dispatch)=>{dispatch(functionToMock());};在我实际遇到的情况下,这些函数都涉及更多,并且每个都分派(dispatch)多个

javascript - Redux 中间件设计 re : return values

所以我刚刚阅读了redux中间件,听起来不错。不过有一件事困扰着我——中间件的返回值。我知道中间件的某些实例会返回一些东西(即redux-promise),而我得到其他中间件(即logging)不会-只是返回next(action)的结果。我的问题是,如果我想使用两个都返回内容的中间件会发生什么——它们肯定会互相破坏,而我只会获得最外层中间件的返回值。express/connect中间件通过让中间件将其“结果”写入req和res对象来解决这个问题,但是解决方案是什么还原?编辑这是我的问题的一个更具体的例子:我有两个中间件:将所有操作延迟3秒分派(dispatch)的中间件。这个中间件返