Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
A natty semantic data-fetching tool for project that no longer needs to use jQuery/Zepto's Ajax.
新名字oner-io
,名称空间onerIO
oner-io
是这个工具的新名字(原名叫natty-fetch
),新名字意为着新起点,从此,该工具从原来的个人(jias)维护,变为数澜科技前端团队(oner-team)维护。
oner-io
从v3.0.0
开始发布(还未发布),就是natty-fetch@3.0.0
的计划,有破坏性升级,当然也更好用了。natty-fetch
的一切内容都在当前仓库的natty-fetch
分支中。natty-fetch
的bug
,在2019
年依然会继续修复并发包。🍔 很多人问起,oner-io
是原生fetch
的扩展吗?,或者oner-io
和axios
有什么区别?所以统一回答一下:
oner-io
的定位并不是另一个ajax/jsonp
工具,而是多人协作时定义接口和使用接口的一套规范,特别是项目接口来至多个后台系统时。
业界有名气的ajax
工具,功能强大的有很多,如果只是找工具,轻量级的可以使用axios
,重量级的可以使用bluebird。如果是希望找到团队多人协作的规范,使用oner-io
!
那么,知道了oner-io
的定位,小伙伴们就可以理解,使用这套规范(多人协作时定义接口和使用接口的规范),一定是会有一点点代价的,一定会比axios
这种纯工具,在使用时,多出一点点配置,但非常值得!
目前功能的缺失:文件上传功能,建议使用专业文件上传组件。
🍻 开发者的体验至关重要!在微小的技术点上追求极致的开发体验。如果对你有帮助,请考虑Star一下。
项目中经常遇到一些相对稳定的数据,如省市列表、差旅性质、任务类别、币种类别等等。这些数据通常根据业务需要或客观变化才更新一次,虽然更新慢,但又必须更新。在请求这些数据时,可以借助oner-io
强大的缓存(如:缓存的三种有效性判断,缓存的降级处理),分分钟完成异步数据的缓存实现。
我们在大型项目中会经常碰见一种情况,不同的业务模块有着很多非常相似(甚至相同)的数据接口。这种级别的项目,如果在一开始没有做好足够的名称空间规划,后期一定会逐步进入"命名冲突"的大坑。oner-io
专为大项目而生,在名称空间方面做足了设计,层级不限,书写灵活,使用者只需关心如何规划即可。
很多老项目,各种原因,经历过多个团队的开发,后续的接手人,要么梳理得很辛苦,要么以更特殊的命名方式继续堆接口...,吐槽是不解决问题的,
oner-io
走起吧!
无论是XMLHttpRequest
,还是fetch
,业务逻辑的错误都是作为成功响应(response
)的数据一起返回的,但通常情况我们需要将这种错误从response
中分离出来,进而reject
这次请求。这是一项重复的工作。oner-io
把这种重复的工作提取为一项配置,即数据适配(fit
),让业务逻辑错误直接走向reject
,进而resolve
拿到的数据是代表业务逻辑成功的数据,无需判断,直接可用。
业务逻辑错误的举例:"您已投过票啦,不能重复投票!","您的操作权限不够!"
当项目需要调用多个后台系统的数据接口时,清晰地实现各自系统的通用配置是非常好的编程习惯(利人利己)。想象一下,假设其中一个系统的所有接口需要添加token
参数时,在该系统的上下文配置中修改一处即可实现,是多么惬意的事情。不仅如此,oner-io
还提供了三个层级的配置,由上至下分别是全局配置(Global
),上下文配置(Context
)和接口配置(API
),上游配置作为下游配置的默认值,同时又被下游配置所覆盖。
一方面,借助插件机制,可以将项目中已经存在的任何(是的,不管有多少种)数据获取方案统一化。统一后的原有方案直接拥有"名称空间支持"、"多上下文支持"、"数据适配约定"、"强大的缓存"等oner-io
特色功能。另一方面,插件机制也可以用于扩展接口的使用方式,比如内置的loop
插件,只需一行配置,就可以快速让一个接口拥有轮询功能。
如果项目仅支持现代(Modern
)浏览器,推荐使用oner-io.min.js
。如果需要兼容到IE8
,则必须使用oner-io.pc.min.js
和Promise Polyfill
。
oner
,会被拉到oner
工具群。Node需要7以上的版本
启动开发环境
$ npm install
$ npm start
构建
$ npm build
FAQs
A natty semantic data-fetching tool for project that no longer needs to use jQuery/Zepto's Ajax.
The npm package oner-io receives a total of 2 weekly downloads. As such, oner-io popularity was classified as not popular.
We found that oner-io demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.