sail.js中的自定义中间件

时间:2016-02-29 10:50:09

标签: javascript node.js express sails.js

在我的Sails应用程序中,我想访问一个不在" assets"中的静态文件夹。

在express中,我可以通过设置例如:

轻松完成
  

app.use(' / static_path',express.static(__ dirname +   ' /视图/ static_path'));

所以在Sails中,我尝试在" config / http.js"中添加一个中间件。

这是我的问题。当我添加自定义中间件时:

  

customMiddleware:function(app){       var express = require(' ../ node_modules / sails / node_modules / express');

app.use('/static_path', express.static(__dirname + '/../views/static_path'));   }
  1. 根据文档,我应该可以访问" CustomMiddleware"将$ custom传递给" order" (列出所有中间件)。但是中间件从未被这种方式调用
  2. 实际上是在"命令"列表,如果我添加单词" customMiddleware",它可以工作。但第二点是app崩溃并记录
  3.   

    app.use不是函数

    有人可以帮助我吗?抱歉我的英语顺便说一句

1 个答案:

答案 0 :(得分:1)

在使用app.use之前,您需要明确表达。

尝试这样的事情:

配置/ http.js

var express = require('express'); // if you have npm version > 2
// var express  = require('sails/node_modules/express'); // for older npm versions

module.exports.http = {

customMiddleware: function (app) {
    app.use('/static_path', express.static(__dirname + '/../views/static_path'));
},   ... rest of the http.js