修改sails.js中的bodyParser大小而不必修改sails库源文件

时间:2014-07-04 12:50:03

标签: sails.js

我修改了bodyParser选项大小,用于通过sails中的输入表单发布大字符串。 我是通过以下方式做到的: 我去了:node_modules / sails / lib / express / index.js 然后我替换了默认的bodyParser:

bodyParser = sails.config.express.bodyParser();

通过

bodyParser = sails.config.express.bodyParser({limit: 8248242});

我工作,但我想必须有一个更简单的方法来通过参数或其他东西来做... 我尝试在配置文件夹中创建一个express.js文件,如https://gist.github.com/mikermcneil/8249181

但它似乎没有识别快递模块...

有关通过某种参数更改bodyParser大小限制的最佳方法的建议吗? 干杯!

3 个答案:

答案 0 :(得分:3)

谢谢斯科特!我不知道这个投票系统是如何运作的,但我很感谢你的帮助!我没有意识到express没有明确地添加到package.json中,并且sails有自己的内部单独的express分发。我在package.json中添加了express,在config文件夹中添加了一个express.js:     module.exports.express = {        表达: {           bodyParser:function(){              return require(' express')。bodyParser({limit:8248242})           }        }     };

它现在可以在npm安装后运行...非常感谢!

答案 1 :(得分:1)

预期的awswer不会与Sails v10合作。

这里有适合我的修复。

您需要安装正文解析器NPM

npm install body-parser

然后添加

bodyParser:  function () { return require('body-parser')({ limit: 8248242 }) }

进入config / http.js

答案 2 :(得分:0)

这现在在Sails 1.2.3中对我有效;具体来说,在默认bodyParser中使用示例config/http.js

...
bodyParser: (function _configureBodyParser(){
  var skipper = require('skipper');
  var middlewareFn = skipper({
    // strict: true,
    limit: '10mb',
  });
  return middlewareFn;
})(),
...