首页 > 代码库 > Sails Js 升级改版

Sails Js 升级改版

之前的教程都是基于0.9.x的 官方更新到 0.10.x后 环境配置改动比较大

简单的特性说一下

1

Sails命令有更新 但是老的命令依然支持

可以自行建立自定义sails命令

2

api模组 组件注入可以自定义

3

修改了部分的0.9.x的bug 和 插件bug

4

自动路由功能更加智能

(PS:不过我本人还是喜欢手写数据库代码)

5

关于sails socket的升级

现在不仅支持model方式的发布/订阅 还支持sails对象的全局发布订阅

自带的一些报错信息更完善啦

500 404 400 等等,

可以在建立项目的时候直接去看看这些文件

7

CURD 清单

  • .findOneBy<attribute>In()

  • .findOneBy<attribute>Like()

  • .findBy<attribute>In()

  • .findBy<attribute>Like()

  • .countBy<attribute>In()

  • .countBy<attribute>Like()

  • .<attribute>Contains()

  • .findAll()

  • .findOneLike()

  • .findLike()

  • .contains()

  • .join()

  • .select()

  • .findOrCreateEach()

  • .join()

  • .startsWith()

  • .endsWith()

 

其它:

a

不同model中可配置不同的数据库连接,更方便多数据库的支持

比如登录用到的User表,可以放在Redis中,可让用户登录速度更快

业务明细可以放到MongoDB里面更快的查询

其它关系逻辑数据可以放到mysql 等RDS型库里面 

使用之前要在connections文件里面预设好

不过本人使用sails-redis的时候还发现了一点小bug,不过已被我fixed了 

有碰到关于redis疑问的可以直接发帖求解


b

用於跨域项目的socket io js 需要手动修改框架内的 socket.io 文件 否则会发生域名报错的情况

assets的socket io 外面多了一层 dependencies 文件夹

如果是老项目升级上来的 注意跨域产品的socket io js路径问题

c

初始化执行部分函数:

在这种情况下,model对象可能会报错不存在,可以通过手动setTimeout() 方法来规避

当然涉及到的一些controller方法对其对象也要做一边存在校验

(PS:最不爽的就是这点了.目前还没有更好的解决方案,我想应该通过0.10.x特性2的方式来处理吧,搞定后会跟帖发布处理方法)



数据库配置全部迁移到connections.js这个文件,方便多model多数据库调用









Sails Js 升级改版