https://github.com/adonis-china/docs 中文社区 http://adonis-china.org 正积极筹备中,诚邀各位前辈参与中文文档的翻译。 域名备案中, 可先用 http://adonis.genyii.com/ 临时访问
首先,真诚感谢我们的翻译团队:
得益于他们的不懈努力,我们AdonisJs的中文文档翻译进度在短短两天内就已经达成80%,认领进度已达95%以上! 我们时刻欢迎你的积极参与,发现问题,贡献更好的翻译内容。
Github Readme:
AdoninJs 中文文档
Founded by Adonis China (域名备案中,请移步临时访问地址)
贡献流程
- Fork本项目到你自己的账号下,并clone到本地
- 查看『章节认领』后提交一个Issue,申请你要翻译的章节。如:申请翻译『AdonisJs一览』
- 得到回复后即可在你本地翻译对应章节,为保证效率,强烈建议配合 Google Translate
- 请务必于3日内完成翻译,完成后发送Pull Request
章节认领 (已完成)
序言
核心理论
起步
- @linganmin 安装
- @linganmin 目录结构
- @linganmin 配置
- @linganmin 环境变量
- @copydog 路由
- @copydog 请求
- @copydog 响应
- @copydog 中间件
- @copydog 控制器
- @copydog 文件
视图
- @copydog 视图
- @river-lee Nunjucks模板
- @river-lee 表单生成器
数据库
LUCID
- @linganmin Lucid
- @linganmin 关联
- @linganmin 数据库Hooks
- @linganmin Getters & Setters
WEB开发工具
- @river-lee 交互式Shell Aka Ace
- @river-lee 认证
- @river-lee Cookies
- @river-lee Mail
- @river-lee 错误和异常处理
- @river-lee 事件
- @dxc1996 助手
- @dxc1996 Sessions
- @dxc1996 验证
- @dxc1996 Redis
- @linganmin 国际化
- @linganmin 基于Ally的社交登陆
- @linganmin WebSocket
教程
- @river-lee 起步
- @river-lee 路由和控制器
- @river-lee 数据库模型
- @river-lee 显示博客列表
- @river-lee 创建博客
- @river-lee 整理
安全
个人观点
- 我不认为Node.js是js就应该保持所谓的简单。这根10年前PHP刚出来那段时间的想法是一样的,有些人认为他之所以选择PHP而不是Java就是因为它简单,所以应该抛弃框架,甚至无视OO,拥抱function。但现在?试问谁还会在你面前炫耀自己的mysqli函数用的有多6?就像现在还有多少人在你面前炫耀自己的CSS能兼容IE6、7、8?
- 现在的Node.js跟以前的PHP几乎如出一辙,历史总是不断重演。以前PHP刚出来的时候Zend Framework几乎是所有PHPer心中的终极造诣。而今,Laravel就像Chrome统一PC端、Js统一全栈一样蚕食着其他的PHP框架。TP?呵呵。
- 至于抨击MVC的,我觉得可能是对MVC的理解过于狭隘了,就像某些人认为设计师就是美工、前端就是切图一样。我所理解的广义MVC是这样的:
- M是Model,但不代表它就是指Models文件夹中的User.php或User.js。模型是对一个实体的定义,包括它的属性、方法。所以很多拆分出来的Service层、Logic层甚至Repository也属于模型的范畴,只不过为了便于管理或遵循SOLID原则做的拆分。
- C是Controller,同样也并非仅仅是指UserController.js文件。控制器负责的是接收请求,发号施令,最后发回数据。所以,以前被忽略的Route层也属于控制器的范畴。路由接收请求,让Controller中的Action来执行或者直接一个匿名函数来处理这都是控制器做的事情,难道就因为它的名字不叫Controller就说这不是控制器?
- V是View,一样,不是指什么blade、njk、pug文件。View是面向请求者的,所以请求者需要什么格式,控制器就给他响应什么格式。很简单的例子,目前大家所了解的API接口内容类型协商,假设请求的API地址是 http://api.example.com/user,那服务端会根据请求时传递的header或地址伪造后缀,取到自己想要的数据。比如: user.json和user.xml分别返回json和xml格式的数据,难道最终呈献给网站用户看到的叫View,而呈献给前端接口的就不算View了?狭隘!
- 所以,抱怨MVC不好用,想想看是不是自己能把它用好,而不是直接mkdir三个文件夹然后对应放文件就叫MVC。而且现在基于MVC有很多变体,但万变不离其宗,理解透了,一切皆MVC就如一切皆对象那样顺理成章。
- 为什么不选xxx.js?就像我在说Laravel的时候问为什么不用Yii2一样。我需要考虑当下环境和未来趋势以及最关键的:架构。目前PHP的大环境就是Laravel一家独大,而且基本上代表了PHP的未来,而且它的逻辑严谨、架构合理、功能完善再加上国内外海量插件,俨然就是一个框架界的Wordpress。关键是他有一大批国内外的粉丝,这时候出来一个几乎无成本切换的Node版的laravel和一个Node版的xxx.js,我一个Laravel的脑残粉会怎么选?再者,这名字让我无法不联想到ThinkPHP,哎!
666
666666
又重复造轮子,还乐此不疲。。。毫无意义,再说了,我个人觉得,mvvm 才是nodejs 适合的实践模式,而不是mvc! mvc 应用于java这种工程语言比较适合,用于nodejs。。。。好吧,我看到了IOC。。这个从java 引入的概念,你知道为啥java需要ioc, java 是个OO 的东西。要符合一切都是XXX。。nodejs 是么?js更多的是FN。。。 再说了,不少用MVC抱怨的Java童鞋,都觉得能做个 状态-行为-模型(State-Action-Model,SAM)的SAM框架才是出路吗?mvc 的弊端多啊。 好了,这些nodejs 还自己玩mvc ,还是重复的轮子。。。。。
推荐thinkjs
网友说不如egg
@cnlile 如果你不知道Laravel在PHP界的地位就不会明白我为什么要做这件事情。
@zhentaoo 如果你不知道Laravel在PHP界的地位就不会明白我为什么要做这件事情。
@i5ting 如果你不知道Laravel在PHP界的地位就不会明白我为什么要做这件事情。
又是新轮子,才入行不久的萌新,感到太眼花缭乱了
来自酷炫吊炸天的 CNodeMD
@cnlile 人家又没损失你什么,没必要抨击。支持作者,毕竟产出不易。
顶。。。。。
楼上都是一群搞前端的,你不会搭理他们
来自 KoaHub.js
先静静看看,到底效果怎样
来自酷炫的 CNodeMD
。。。。。每一款产品出来都自称是 XX 界的老大,世界最 X,全国最 X
@rwing 额,有么
感觉有很多其他语言的概念 强行拿来搞 node 了
@jkjk77 一开始是会有点不适应,尝试一下
@einsqing 哈哈,好东西出来总是会有一批人有抵触心理的。
@zy445566 哈哈不要误会,我们只是翻译,原产品是 https://github.com/adonisjs
@lamb2014 老司机建议别走弯路,搞个这个还能和一大波PHP的伙伴愉快滴聊天
相比 adonisjs, 更看好 feathersjs
@thREam 拭目以待
我发现每出现一种新技术,就会有人把官网拔下来翻译成中文,再注册个技术同名的.cn域名。 仅仅是发现了这个规律而已,没啥别的意思。
@zenwong 同发现了这个问题
翻了一下官方文档, 没看到benchmark结果啊, 楼主有链接么
@Smallpath 我不知道有benchmark呀
AdonisJs 确实解决了一些痛点。例如 Laravel 的 command 在维护数据时就很有用。