FeathersJS V4 代号 Crow
在过去的几个月里,很多事情都在发生,我很高兴分享Feathers v4(Crow)的预发行版和一些精彩的文章,模块和视频
Feathers v4(Crow)的核心模块是代码完整的,作为pre
发行版发布并准备进行测试。任何反馈,问题和问题报告都非常感谢(非常感谢任何已经拥有😃的人)。可以在crow.docs.feathersjs.com找到工作进度文档。
羽毛升级
与以前的版本一样,它@feathersjs/cli
附带了一个升级命令,该命令应用了从使用@feathersjs/cli
v4 生成的v3应用程序升级所需的大部分更改(可能需要一些手动步骤并在迁移指南中进行了说明)。
要测试预发布,您可以运行以下升级命令🚀
npm i @ feathersjs / cli @pre -g
cd myapp feathers
upgrade
v4(Crow)迁移指南中概述了有关此操作以及可能的手动步骤的更多详细信息。以下是v4中新功能和更改的简要概述。
常见的版本控制
@feathersjs命名空间中的所有模块现在具有相同的版本号。因此,@feathersjs/对于即将推出的版本的任何依赖都将是v4(4.0.0-pre.x对于预发布),下一个v5(Dove)等。这是与Babel和React项目已经用于所有子模块的项目相同的版本,并且希望能够更清楚地说明什么版本目前正在使用中。
数据库适配器将继续独立版本化,因为它们通常可以与任何Feathers版本一起使用。
认证
这些@feathersjs/authentication-*模块已经完全重写,包括更安全的默认设置,更容易定制,独立于框架,不再依赖PassportJS。它配备:
- 可扩展的身份验证服务,可以注册策略并创建身份验证令牌(默认情况下为JWT,但可插入其他任何内容)
- 独立于协议,完全可自定义的身份验证策略,内置本地,JWT和oAuth身份验证
- 更好的oAuth身份验证,支持180多个提供商,无需任何额外设置(只需在配置中添加提供程序密钥和密钥)
- 内置oAuth帐户链接和跨域oAuth重定向
- 一个更有用的身份验证客户端,可自动包含您通常需要的信息(如当前用户),并可靠地处理重新验证的实时连接。
Feathers核心
除了身份验证系统更新外,Feathers v4核心模块还包括以下功能和更改:
- 始终是每个核心存储库中最新的TypeScript定义,不再需要单独安装
- 服务可以在根级别注册,例如
app.use('/', myService)
- 可以通过设置在挂钩中关闭事件发射
context.event = null
- 一个全局
[disconnect](https://crow.docs.feathersjs.com/migrating.html#disconnect-event)
事件,通知任何实时客户端断开连接 -
已经删除
feathers.SKIP
了钩子中的返回,因为它使钩子流难以调试并且允许绕过重要的Feathers内部。现在可以使用无钩服务方法等功能处理常见用例。feathers.SKIP
数据库适配器
最新版本的Feathers数据库适配器包括一些重要的安全性和可用性更新,要求明确启用以前默认提供的某些功能。它们可以与Feathers核心的v3和v4一起使用。
-
get
,remove
,update
和patch
现在始终包括query
。如果记录与该查询不匹配,即使该记录id
有效,NotFound
也会引发错误。 - 数据库适配器现在支持将主叫没有任何挂钩的服务方法
_
的方法名称的前面_find
,_get
,_create
,_patch
,_update
和_remove
。 - 一次创建,更新或删除多个记录需要明确启用和保护。
- 必须将非标准查询参数明确列入白名单。