背景
本人刚接触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 算是其中非常优秀的,至少文档让我整体看来很舒服。等多做几个大型的项目实践后再具体评论了。
还望大佬多多指点代码不足之处,多多改进 ~~~
nest.js 有 Grpc 的集成 https://docs.nestjs.cn/5.0/microservices?id=grpc 如果你更喜欢 Typescript 的话
那个设置跨域的问题我是设置的白名单,在config/config.dev.js 里设置的security.domainWhiteList ,你可以试一下看可不可以。 还有感觉引了好多插件啊,看的一脸懵逼 😳
@padipata 没啥问题吧,好像之前有看到有 egg-jwt 插件。
路由那里,也可以考虑用 https://github.com/eggjs/egg-router-plus