将自定义Express中间件(如jQuery-File-Upload)添加到Sails.js

将自定义Express中间件(如jQuery-File-Upload)添加到Sails.js,第1张

将自定义Express中间件(如jQuery-File-Upload)添加到Sails.js

在Sails的早期版本中,这将非常困难,因为您无法控制包含自定义中间件的顺序。在v0.10中,这 有点 困难。

注意:以下内容适用于
Sails
的Beta版本(v0.10.x),可通过安装

npminstall sails@beta

将自己的自定义中间件插入Sails就像将一个

customMiddleware
函数作为参数添加到
config/express.js
文件一样容易
app
。然后
app.use
,您就可以放心了。这种方法的缺点是,它不能让您控制
何时 包括中间件。值得注意的是,它包含 正文解析器之后,不适用于您的情况。

在最新版本的Sails中,可以通过实现中的方法来覆盖 所有
中间件加载。参数为,(Sail通常默认情况下通常包括的一组中间件函数)和(对全局Sails对象的引用)。首先看一下默认的核心实现
-您可能想要复制相同的顺序。因此,在您的中,您将遇到以下内容:

loadMiddleware``/config/express.js``app``defaultMiddleware``sails
/config/express.js

var upload = require('jquery-file-upload-middleware');// configure upload middlewareupload.configure({    uploadDir: __dirname + '/public/uploads',    uploadUrl: '/uploads',    imageVersions: {        thumbnail: { width: 80, height: 80        }    }});module.exports.express = {    loadMiddleware: function(app, defaultMiddleware, sails) {        // Use the middleware in the correct order        app.use(defaultMiddleware.startRequestTimer);        app.use(defaultMiddleware.cookieParser);        app.use(defaultMiddleware.session);        // Insert upload file handler        app.use('/upload', upload.fileHandler());        app.use(defaultMiddleware.bodyParser);        app.use(defaultMiddleware.handleBodyParserError);        app.use(defaultMiddleware.methodOverride);        app.use(defaultMiddleware.poweredBy);        app.use(defaultMiddleware.router);        app.use(defaultMiddleware.www);        app.use(defaultMiddleware.favicon);        app.use(defaultMiddleware[404]);        app.use(defaultMiddleware[500]);    }    ...etc...}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5476862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存