Articles of sails.js

如何通过Azure网站上的Node.js应用程序将大文件stream上传到Azure Blob存储?

我正在使用Azure媒体服务和Node.js构buildvideo服务,但是直到现在,一切都变得很好,但是当我尝试将应用程序部署到Azure Web Apps进行托pipe时,任何大型文件都将失败,并显示404.13错误。 是的,我知道maxAllowedContentLength而不是,这不是一个解决scheme。 它只能达到4GB,这是可悲的 – 即使HDR环境地图可以轻松超过这个数量。 我需要使用户能够上传最大150GB的文件。 然而,当azurenetworking应用程序接收到一个多部分的请求,它似乎缓冲到内存,直到某个阈值的任何一个字节或几秒钟(如果我的连接速度慢,返回给我一个404.13或502)在运行我之前服务器逻辑。 我在服务器代码中尝试了Transfer-Encoding: chunked头文件,但即使这样做会有所帮助,因为Web Apps不会让代码运行,这实际上并不重要。 logging:我在后端使用Sails.js,并且Skipper正在处理到Azure Blob服务的streampipe道。 本地主机显然工作得很好,不pipe文件大小。 我在MSDN论坛上重复了这个问题,但是这些问题一直很慢。 你可以去那里看看我发现到目前为止: 在这里input链接描述 客户端我使用Ajax FormData来序列化字段(一个文本字段和一个文件)并发送它们,使用progress甚至跟踪上传进度。 有没有办法使这项工作? 我只是希望它让我的服务器端逻辑处理数据stream,而不会缓冲stream血的事情。

接下来没有定义,但我不明白如何在我的函数中定义它

当我尝试访问/当然/新我得到一个错误[ReferenceError: next is not defined] 。 我如何以及在哪里为我的错误function定义下一个? 如果我只是添加一个参数,就像我在早期的模型中所做的那样,我只是得到更多的错误。 courseController: module.exports = { 'new':function(req, res, err){ Student.findOne(req.param('takes'), function foundStudent (err, student){ if (err) return next(err); if (!student) return next(); res.view({ student: student }); }); }, create: function(req,res,next){ Course.create(req.params.all(), function courseCreated (err, course){ if(err) next(err); res.json(course) }); } }; 课程模式: module.exports = { attributes: { code:{ type: […]

Sails.js:加载特定视图上的脚本

在Sails.js中如何加载一个JavaScript文件在特定的视图,因为我有一个脚本,我只想在一个视图(.ejs)加载。 我看到在layout.ejs中所有的javascript文件都加载了所有的意见,所以想法是从布局中排除javascript文件并加载视图。 <!–SCRIPTS–> <script src="/js/dependencies/sails.io.js"></script> <script src="/js/dependencies/angular.js"></script> <script src="/js/dependencies/angular-ui-router.js"></script> <script src="/js/dependencies/angular-route.js"></script> <script src="/js/dependencies/angular-translate.js"></script> <script src="/js/dependencies/ui-bootstrap.js"></script> <script src="/js/dependencies/textAngular-rangy.min.js"></script> <script src="/js/dependencies/textAngular-sanitize.min.js"></script> <script src="/js/dependencies/textAngular.min.js"></script> <script src="/js/dependencies/angular-color-picker.js"></script> <script src="/js/dependencies/angular-click-outside.js"></script> <script src="/js/dependencies/angular-bootstrap-tpls.min.js"></script> <script src="/js/dependencies/angular-filemanager.js"></script> <script src="/js/dependencies/resource.js"></script> <script src="/js/app.js"></script> <script src="/js/locales/ca.js"></script> <script src="/js/locales/en.js"></script> <script src="/js/locales/es.js"></script> <script src="/js/controllers/IndexController.js"></script> <script src="/js/controllers/LoginController.js"></script> <script src="/js/controllers/LogoutController.js"></script> <script src="/js/controllers/NewVideoController.js"></script> <script src="/js/controllers/PreviewController.js"></script> <script src="/js/controllers/VideoConfigController.js"></script> <script src="/js/controllers/layoutController.js"></script> <script src="/js/services/LoginService.js"></script> […]

访问文件夹内部的文件,这是在SAIL中的config文件夹js(node js framework)

我必须访问位于config文件夹( /config/schemas/userSchemas.js )中的文件夹内的文件。 如何从我的控制器或服务中访问这个文件。 这个怎么做? 我已经尝试过sails.config.schemas.userSchemas 。 但它没有工作。 还有什么我可以尝试?

npm ERR! 无法读取未定义的属性“暂停”–Bluemix

我正在尝试将Sails.js应用程序部署到Bluemix,并且在Bluemix上的工具链的部署阶段(当调用CF PUSH命令时)出现以下错误: npm ERR! 无法读取未定义的属性“暂停” 我知道跟踪到npm-error.log文件,但是,我一直无法得到它,因为我们不能ssh中看到什么文件中的应用程序处于其“关”状态后坏部署。 这个相同的代码已经成功地在Cf push {app name}}中部署,并且在8天前通过Bluemix中的一个简单的构build和部署工具链。 在构build阶段,我可以运行Npm安装和npm更新就好了。 然而,似乎在部署阶段再次这样做,无论它失败了。 这里是关于这个失败的一些细节 NODE_ENV=production NPM_CONFIG_LOGLEVEL=error NPM_CONFIG_PRODUCTION=true Visit http://docs.cloudfoundry.org/buildpacks/node/index.html#vendoring NODE_HOME=/tmp/app/.cloudfoundry/0/node NODE_MODULES_CACHE=true NODE_VERBOSE=false Restoring cache Loading 3 from cacheDirectories (default): – .npm – .cache/yarn (not cached – skipping) – bower_components (not cached – skipping) Installing node modules (package.json) Building dependencies sails@0.12.13 preinstall /tmp/app/node_modules/sails node ./lib/preinstall_npmcheck.js Sails.js Installation: […]

npm嵌套的依赖关系,为什么不模仿gem?

我今天安装了sails.js ,看看它是如何一遍又一遍地安装相同的软件包(我的应用程序依赖项的依赖),为什么npm不使用像系统一样的gem? 在全球范围内保存库和他的不同版本,如果你有多个项目在服务器上,而不是一遍又一遍地重复安装相同的库,那么共享相同的库会很酷。(我知道这是npm链接的解决方法,不被认为是最佳实践)。

Node.js不识别Coffeescript

我目前正在尝试与SailsJS框架一起进入NodeJS。 我也想在服务器上使用coffeescript,但是在使用js2coffee将config/*.js 。js中的所有文件转换为config/*.coffee 。coffee后,尝试启动应用程序时出现以下错误: configuration/ 400.coffee SyntaxError: Unexpected token ILLEGAL 指向文件中的第一个字符,这是咖啡评论的标签。 所以它似乎应用程序不识别该文件为coffeescript,而是寻找标准的js。 我尝试安装包coffee-script并要求它 app.js require('coffee-script'); require('sails').lift(require('optimist').argv); 但它没有帮助。 如果我删除400.coffee ,错误出现在下一个文件403.coffee等。 我究竟做错了什么? 在configuration文件中是不是允许coffeescript还是我错过了什么?

在那里我创build或修改视图的全局variables(ejs)

我需要修改variables“ <%= title %> ”,但我不知道他们在哪里创buildvariables,或者我可以在哪里更改它。 我想知道其他全局variables可以在视图中find,例如variables<%= session%>我没有发送,但由于某种原因已经存在。 在“expression”中它曾经触动过我,做了如下的事情: “ res.render('session/new', {title: "Log in", session: req.session}); ” 所以我想知道他们在哪里创build“会话”variables,因为我不喜欢出去那里不知道一些事情XD 非常感谢你的帮助。

Sails.js滚动会话

滚动会话是在没有用户活动(不包括实时更新数据的websockets)的情况下在一定时间内到期的会话。 如果用户在到期之前访问该网站的另一部分,则应该延长到期日。 我将如何与Sails.js做到这一点? 在/config/session.js cookie下设置maxAge和expires不会产生所需的效果。 到期不会延长与另一个页面加载。 它保持不变。 编辑:一旦Sails.js升级其Express版本,这会解决吗? 我看到https://github.com/expressjs/session有一个rolling选项。 编辑2:我看到这个答案: 尽pipe活动ExpressJS会话过期我需要复制和粘贴 req.session._garbage = Date(); req.session.touch(); 到控制器的每条路线上? 有没有更好的办法?

Sails.js:哪些模块用于unit testing?

我是sails.js和node.js的新手 我试图弄清楚设置unit testing的最佳方法是什么。 例如,在Kraken.js中,生成时已经有一个testing/文件夹设置,它看起来像使用摩卡。 但是,没有像这样预先包装sails.js。 我想知道什么是最好的方式来构build它,我需要添加依赖关系(我应该使用业力,茉莉花,摩卡,量angular器,…),以及如何自动化一切(即运行所有testing使用“grunttesting”我想,或者我应该在每个“npm start”运行testing…?) 你如何在你的sails.js环境中设置unit testing?