Articles of sails.js

我可以使用sailsjs重新加载webpack的热模块吗?

我正在使用sails.js进行一个项目并作出反应 。 我希望能够使用Webpack的热模块更换,所以我可以编辑我的代码,并立即在浏览器上更改。 不过,我怎样才能把这一切联系起来似乎并不明显。 我希望能够使用$ sails lift并只是工作。 如果这是一个node.js项目,我简单地configurationwebpack使用react-transform-hmr并从package.json启动webpack-dev-server (例如这里所描述的 )。 但是,这似乎并不是一件非常有趣的事情。 我看到模块webpack-hot-middleware声称能够“在没有webpack-dev-server情况下将热重新加载到现有服务器”。 但是,我不确定在Sails> 0.10中添加Express中间件configuration的适当位置在哪里。 任何人都可以推荐一个好的方法来设置这个?

configurationsails.js不caching响应

我有一个应用程序node.js使用sails.js作为框架。 为了向用户显示信息,我已经实现了一些.ejs文件。 当使用应用程序菜单中的链接进行导航时,我收到“304 – Nod Modified”响应。 另外,在响应的标题中,我看到了Etag , If-None-Match或Expires 。 在阅读了一些文章后,我在customMiddleware函数的/ config / express.js文件中添加了“app.disable('etag')”语句,etag和if-none-match不再发送。 无论如何,现在我看不到任何要求服务器(只是第一个作出)访问不同的网页(甚至没有304响应)。 我怎么能告诉sails.js停止caching我的网页?

Sails.js计数在哪里

我正在计算一个集合的子集,其中的子集由一个属性确定。 代码是: User.count() .where({attribute:{'<':10}}) .exec(function(err, users){ callback(err, users); }); User.count本身将返回总集合计数,但放入任何WHERE子句似乎一贯返回0.是否count方法不支持WHERE子句? NB我使用Mongodb适配器这个集合和默认情况下。 所有模型都存在“属性”,并填充数字数据(高于和低于10)。

Sails.js用户注册的flash消息

我从http://irlnathan.github.io/sailscasts/blog/2013/08/27/building-a-sails-application-ep4-handling-validation-errors-with-a-flash了解Sail.js教程, 信息/ 但是我遇到了一个小问题。 在本教程中,作者在其用户文件夹中使用注册文件,并在用户控制器中分配路由。 然后,他使用flash向用户发送validation错误。 但是在我的项目中,注册文件位于根文件夹中,并且像这样从routes.js文件分配路由 module.exports.routes = { '/': { view: 'index' }, '/register': { view: 'register' } }; 现在问题是使用闪光来显示用户在注册时的validation错误。 我在用户控制器(创build)中使用了以下内容,似乎不工作 if (err){ err.success = 0; console.log(err); req.session.flash = { err: err } req.flash('error', req.session.flash); return res.redirect('/register'); } 有什么build议么? Sails.js版本<0.10.x基于他的其他线程输出在这里

跨域Sails.js + Socket.io授权

我正在开发一个应用程序, 将推送内容提供给托pipe在不同域中的一组Web应用程序。 我使用Sails.js和Socket.io,并像这样构造它: 在每个Web应用程序的客户端浏览器上运行的客户端脚本如下所示: socket.on('customEvent', function(message){ //do something with message on event trigger } 然后,在服务器中,事件'customEvent'在需要的时候被发出,并且可以工作(例如onConnect事件: sails.io.emit('customEvent',{message …} )。 但是在处理授权时我遇到了一个问题。 我试过的第一种方法是基于cookie的authentication,正如这里所说的(通过改变api/config/sockets.js函数authorizeAttemptedSocketConnection ),但是这不是一个合适的生产解决scheme,并且浏览器不支持与更严格的cookie政策(由于其默认禁止第三方cookie)。 我的问题是:如何使用sails.js实现一个适当的跨浏览器和跨域授权机制,这可以在socket.io的授权过程中得到支持? ====== 更多细节: 我也尝试用一个着名的oauth提供者(例如facebook)添加一个login,以这个例子为基础。 我有Passport会话,但是我仍然无法从客户端脚本进行身份validation(它只能在我的节点应用程序直接托pipe的页面中工作)。 获取会话的JSONP请求可能是一个解决scheme,但在Safari中不能正常工作。 另外,我更喜欢用户在Web应用程序中进行身份validation,而不是直接在我的节点应用程序中进行身份validation。

sails.js与护照叽叽喳喳

我正在整合passport和sails 。 虽然谷歌和脸书在我的应用程序工作正常,我很难与Twitterauthentication! 当点击“使用twitterlogin”button时,会出现一个错误提示: Error: OAuthStrategy requires session support. Did you forget app.use(express.session(…))? Error: OAuthStrategy requires session support. Did you forget app.use(express.session(…))? 我在这里读到,会话是必要的Twitterauthentication工作。 我确定我的应用程序已启动会话! 我testet passport-twitter一个简单的快递应用程序(无风帆),以确保该模块正在工作,我的twitter凭据是完好无损的。 我假设帆会议是不同的expression会议? 风帆会改变会议的方式吗? 有关如何解决这个问题的任何build议? 编辑:添加一些更多的信息按要求在评论: 风帆版本:0.9.13 UserController.js: … twitter: function(res, req) { passport.authenticate('twitter', {failureRedirect: '/login'}, function(err, user, info) { return console.log(err, user, info); })(req, res); } … configuration/ passport.js: … […]

Sails Waterline SQLjoin填充

水线是否支持执行SQL连接(除了query() )? 我在模型中build立了关联,但是生成的实际SQL查询是循环select语句。 目前是否只支持“n + 1select”? 我在某处丢失configuration选项吗? 下面是一个1->许多填充循环select语句的例子:(sails / waterline / sails-mysql v0.10.0-rc8) /** * City.js */ module.exports = { "adapter": "someMysqlServer", "tableName": "city", autoCreatedAt: false, autoUpdatedAt: false, schema: true, attributes: { "id": { "type": "integer", "primaryKey": true, "autoIncrement": true, "columnName": "ID" }, "Name": { "type": "string", "maxLength": 35 }, "District": { "type": "string", "maxLength": […]

在Sails / Waterline软删除

尝试使用以下命令删除用户模型: //Hard Delete User.destroy({id:userId}, function(err, res){ //Hard Delete }) 我需要在用户模型上进行软删除,并且在删除和更新文档时将当前的标志isDeleted设置为true: updateUser.isDeleted = true; User.update({id:userId}, updateUser, function(err, res){ Update project }) 并在获取文件时,我正在做一个检查如果isDeleted – 是否真实。 是否有任何由Sails或Waterline提供的内置function,我可以configuration执行软删除,并避免更新,然后基于isDeleted标志提取?

Sails.js:如何在assets / js / files.js中使用i18n函数

我需要在我的sailsjs项目的资产/ js内使用i18n()。 我该怎么做呢? 在我的观点是好的,但在我的不是,为什么? 非常感谢你。 我有sailsjs@0.10.5

在Node / Npm更新之后,Sails.js无法find模块“ini”

我正在使用Sails.js中的应用程序,在尝试创build用户帐户时遇到了身份validation错误。 我无法debugging我的问题,所以我决定更新Node和NPM。 现在,抛出一个不同的错误。 module.js:338 throw err; ^ Error: Cannot find module 'ini' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:278:25) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/usr/local/lib/node_modules/sails/node_modules/rc/lib/utils.js:2:12) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) 我犯了相当一段时间没有更新节点和npm的错误。 我做了npm install ini 。 npm表示安装成功,但是当我再次提起帆时,同样的错误被抛出。 我testing了另一个我知道工作正常的Sails项目,并且得到了同样的错误。 我完全卸载节点和NPM,并重新安装它们,没有运气。 我删除了node_modules文件夹,并运行npm install ,并得到相同的错误。 我删除了两个项目文件夹,并从Github中重新克隆,但失败仍然存在。 出于绝望,我试图降级我的节点和npm的版本,但奇怪的是,我仍然有同样的错误。 […]