任何人都可以告诉我如何加载customMiddleware,或任何获取快递应用程序的功能,在风帆v0.10?
过去,您可以在/config/express.js中使用以下内容:
customMiddleware: yourFunc(app){
//do stuff including
// app.use(myMiddleware)
}
在v0.10中不再调用express.js的这个成员 - 至少在默认情况下不是这样。你可以通过创建一个带有“sails new”的新应用程序并在config.express.customMiddleware中定义一个新函数来证明这一点。它不会开火。
有谁知道如何启用它?或者是否有另一个地方或配置选项,使我能够在启动时访问快递应用程序?
您必须为其指定其他配置 config.express.costumMiddleware
安装。通过设置 config.middleware.custom
至 true
您启用以前Sails版本的此默认行为。
// config/express.js
module.exports.express = {
middleware: {
custom: true
},
customMiddleware: function(app){
// express middleware here
}
};
相关提交
a89a883c22
相关来源
帆/ LIB /钩/ HTTP / load.js
处理 customMiddleware
在Sails 0.10中略有变化。在版本0.10中,需要配置该方法 http
钩子(不是 express
钩子,如以前的版本)。
记住你的是非常重要的 sails.config.http.middleware.order
列表需要有 '$custom'
其中的中间件条目将触发自定义中间件功能运行。
因此,为了添加任何自定义初始化,您可以添加以下更改 /config/http.js
文件:
module.exports.http = {
// ...
customMiddleware: function(app) {
// do something ...
}
// ...
}
或者,如果您想执行依赖于环境的自定义,例如,在生产中,您可以添加以下更改 /config/env/production.js
module.exports = {
// ...
http: {
customMiddleware: function(app) {
// do something in production environment
}
}
// ...
}
我使用这种方法来启用 信任代理 快递旗帜。
例:
...
http: {
customMiddleware: function(app) {
app.enable('trust proxy');
}
}
...
代码处理可以在Sails Github上找到: /sails/lib/hooks/http/middleware/load.js。
顺便说一下,当在Sails 0.10中使用快速挂钩时,您将收到以下警告:
警告: sails.config.express
已弃用;使用 sails.config.http
代替。