背景
本人刚接触node不久,学习直接跳过了express(不知是否会根基不稳。。。), 上来就撸 koa2,后来接触到 egg.js ,有阿里的实践,中大型的项目应该也完全hold得住,文档算是比较健全,项目写下来也是比较顺畅,功能基本够用,该有的都有,后面可能要使用到 grpc 不知道 egg 是否有集成,有待实践。。。
项目介绍
这个项目是一个小程序后端项目,用于学习作用 项目地址
更新时间 | 更新内容 | 更新说明 |
---|---|---|
2018-07-23 | 添加egg-validate | 参数规则校验 |
2018-07-23 | 添加egg-sequelize | 数据库操作 |
2018-07-23 | 添加egg-cors | 解决浏览器跨域 |
2018-07-23 | 添加jsonwebtoken | 生成 token |
2018-07-23 | 添加中间件 auth.js | 校验用户身份 |
2018-07-23 | 添加crypto加密 | crypto.createHash(‘md5’).update(pwd).digest(‘hex’); |
2018-07-23 | 小程序授权 | 封装微信授权校验 |
目前发现问题:
- 为什么配置了
egg-cors
没起作用? // 前端还是报跨域
// config.default.js
config.cors = {
origin: '*',
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH',
};
只能在Nginx上面加上跨域配置
add_header 'Content-Security-Policy' "upgrade-insecure-requests";
add_header 'Access-Control-Allow-Origin' "*";
add_header 'Access-Control-Allow-Headers' "Origin, X-Requested-With, Content-Type, Accept, Authorization, X-Access-Token";
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET,POST,HEAD,OPTIONS, PUT, DELETE';
结语
国内前端优秀的 node.js 框架还有很多,但 egg.js 算是其中非常优秀的,至少文档让我整体看来很舒服。等多做几个大型的项目实践后再具体评论了。
还望大佬多多指点代码不足之处,多多改进 ~~~
收藏了 先下载看看 egg还是很不错的
@gogogosns 嗯嗯,刚接触不久,还不是很清楚自己的写法是否规范
nest.js 有 Grpc 的集成 https://docs.nestjs.cn/5.0/microservices?id=grpc 如果你更喜欢 Typescript 的话
眼花了,怎么看成GraphQL了 😂😂
koa2学习中,学学再来看egg
@zuohuadong Typescript也在用,之后观察一下吧
@openkeyer egg学习起来挺平缓的
@szy0syz 😁
赞
@szy0syz 不瞒你说,我第一眼也是
那个设置跨域的问题我是设置的白名单,在config/config.dev.js 里设置的security.domainWhiteList ,你可以试一下看可不可以。 还有感觉引了好多插件啊,看的一脸懵逼 😳
@Helovebai 嗯嗯,我得仔细看一下cors的文档了😂
@atian25 大神,用户检验部分不知写得是否符合规范?(middleware/auto.js)😳
@padipata 没啥问题吧,好像之前有看到有 egg-jwt 插件。
路由那里,也可以考虑用 https://github.com/eggjs/egg-router-plus
plus 不是支持 load app/router/**/*.js
么,你怎么还自己 require
案例一个自己的小库 , npm install pg-cli ^_^
@padipata egg 的基础覆盖面很广,该有的基本都有,grpc 也有。 https://github.com/eggjs/awesome-egg
config.cors = {
origin: () => '*',
};
@atian25 使用 egg-jwt 跟直接使用 jsonwebtoken 没什么区别,依然要自己写 sign 和 verify
瞄了一眼代码,发现 egg-validate 并没有用起来啊
@littledu 不太确定,不是我们这边维护的