Tag: sails.js

SailsJS:如何将JSON响应中的骆驼情况转换为蛇情况隐式?

有没有一种方法在sails.js将camelCase转换为snake_case同时返回使用res.ok(data)的JSON响应,其中数据是一个对象,没有明确的getters或setters在模型中做到这一点?

我如何在Waterline中执行COUNT和GROUP BY?

我想在Waterline中执行这个查询: SELECT priority, count(*) AS Num FROM Ticket GROUP BY priority 我不知道“countByName”函数如何工作,我没有find一个合适的例子或解释。 我也试着打电话给它 Model.query('SELECT …') 但是这只是返回undefined。

Sails JS Waterlinejoin了多个模型

您好我试图join多个表与填充方法,我GOOGLE了,找不到有效的方式做到这一点,我不想查询数据库多次build立的结果,是否有可能解决这个问题与帆版本“ 〜0.10.0-rc7“我正在build造一个有超过一百张桌子的大型项目。 var co = { adapter: 'someMysqlServer', migrate:'safe', autoCreatedAt: false, autoUpdatedAt: false, autoPK:false, attributes:{ id:{ type:"int", primaryKey: true, autoIncrement: true }, code:"string", priority :"int", co_group_c_id :"int", timezone_c_id :"int", lang_c_id :"int", currency_c_id :"int", name_used :"string", name_official :"string", co_tax_no :"int", co_vat_no :"int", co_vat_reg :"int", co_reg_record :"string", co_representative :"string", co_addresses:{ collection: "co_address", via: "co_user_id" }, } }; […]

在Sails.js后端项目中访问上传的图像

我正在尝试上传,然后访问图像。 上传工作进展顺利,将图片上传到资源/图片,但是当我尝试从浏览器中访问图片时,例如http:// localhost:1337 / images / image-name.jpg,它给了我404。 js仅用于后端目的 – 对于API,项目是使用–no-front-end选项创build的。 我的前端是AngularJS。 我的上传function: avatarUpload: function(req, res) { req.file('avatar').upload({ // don't allow the total upload size to exceed ~10MB maxBytes: 10000000, dirname: '../../assets/images' }, function whenDone(err, uploadedFiles) { console.log(uploadedFiles); if (err) { return res.negotiate(err); } // If no files were uploaded, respond with an error. if (uploadedFiles.length […]

帆JS – 会议

每次页面重新加载,我运行这个函数: init: function(req, res) { console.log("Session: "); console.log(req.session); if (req.session.player_id !== undefined) { Player.getPlayer(req.session.player_id); } else { req.session.player_id = sails.uuid.v4(); req.session.save(); console.log("Session saved"); Player.createPlayer(req.session.player_id); console.log("Creating player: " + req.session.player_id); } } 问题是,我每次跑步 console.log("Session: "); console.log(req.session); player_id不在那里,每次页面被重载,if语句都返回false。 console.log("Creating player: " + req.session.player_id); 返回正确的值,但我不明白为什么会话不按照每个页面上的用户重新加载?

如何使用React.js在Sails.js上呈现服务器端模板?

我正在尝试用Sails.js和React构build一个同构的应用程序。 客户端部分很容易。 但是我遇到了服务器端渲染的问题。 当我尝试使用React服务器渲染一个* .jsx文件时,我得到了这个: renderToString(): You must pass a valid ReactElement 我正在使用sailsjs,react和sails-hook-babel(用于ES6语法)。 ./assets/components/Auth.jsx: import React from 'react'; export class Auth extends React.Component { constructor(props) { super(props); } render() { return ( <div className='auth'> Very simple element without any logic just for test server-rendering. </div> ); } } ./api/controllers/AuthController.js: var Auth = require('./../../assets/components/Auth.jsx'); import React […]

如何在Sails.js中gzip JavaScript和CSS资源?

我正尝试在Sails.js(Node)应用程序中为我的资产启用gzip压缩。 在生产环境中启动应用程序时, assets/linker/js和assets/linker/styles中的所有资源都被连接,缩小,成功地成功(在Gruntfile中指定)。 以下输出文件被生成: .tmp/ public/ min/ production.js production.css 我也想添加gzip压缩,因此我已经安装了grunt-contrib-compress并将压缩任务添加到Gruntfile中。 我可以通过成功压缩文件获得以下结果。 .tmp/ public/ min/ production.js production.js.gz production.css production.css.gz 我现在的问题是,服务器需要响应与gzip文件 (当客户端接受编码),而不是正常的,我找不到一个方法来做到这一点。 也许政策是这样做的风帆? 还是有另一种方式来使用快递中间件? 如果有帮助,这是当前的sails-linker任务,它将javascript production.js文件插入到标记中: … prodJs: { options: { startTag: '<!–SCRIPTS–>', endTag: '<!–SCRIPTS END–>', fileTmpl: '<script src="%s"></script>', appRoot: '.tmp/public' }, files: { '.tmp/public/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.ejs': ['.tmp/public/min/production.js'] } }, … 提前谢谢了。

sails.js – 如何在模型钩子beforeCreate中获取会话数据

我想更新模型的字段“所有者”。 所有者需要从包含当前login的用户并创build模型的会话中获取。 我想要这样的东西: Model = { attributes: { }, beforeCreate(values,next) { var owner_user_id = req.session.user_id; values.owner = owner_user_id; next(); } }

如何在sails.js 0.10中接收套接字事件?

我有一个名为Collection.js的模型,它看起来像这样: module.exports = { attributes: { title: { type: 'string', required: true }, description: { type: 'text', required: false }, sessions: { collection: 'session', via: 'collection' } } } 据我所知,这个消息是在创build新模型实例时通过套接字发送的,可以通过模型名称获得。 所以我已经在我的app.coffee文件中进行了app.coffee : socket = io.connect() socket.on 'collection', -> console.log 'hey' 我已经validation了“环境”的作用,因为我得到了socket.on 'connect'. -> console.log 'hey'通知socket.on 'connect'. -> console.log 'hey' socket.on 'connect'. -> console.log 'hey' ,但我没有得到任何模型事件,如创build或破坏logging! […]

一个迁移文件中有多个迁移语句

我试图在一个迁移文件中执行多个迁移语句,以便一次性更改同一个表的多个列。 我想知道我是否以写作的方式去做,还是有更好更合适的方法去做: 迁移代码 module.exports = { up: function(queryInterface, Sequelize, done) { queryInterface.changeColumn('users', 'name', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'address', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'city', { type: Sequelize.STRING, allowNull: false, require: true, unique: true }).success(function() { queryInterface.changeColumn('users', 'state', { type: Sequelize.STRING, […]