更新:公测版本已经上线,请访问 http://egg.cnodejs.org/ ,如遇到任何问题,请提交issue https://github.com/cnodejs/egg-cnode/issues ,谢谢各位。 更新:egg 版本已经正式运营在 https://cnodejs.org/ 下。egg.cnodejs.org 将下线。
在近期,经过社区的小伙伴们的一起努力下,我们基于 Egg.js 将 nodeclub 进行了重写,重写后的代码仓库位于 https://github.com/cnodejs/egg-cnode 。
原版的 nodeclub 是 2012 年左右,在淘宝实习的某个同学实现的,当时的情况下,几乎没有多少人有过 Node.js 开发真实项目的经验,因此,该项目也存在诸多稚嫩之处,曾经也被 ITeye 的大佬批判过。
后来在 alsotang、题叶等人的维护下,CNode 经历过一次较大的重构,但那次重构没有对原来的项目进行根本性的改动,重点是用户体验层面的改动。因此 nodeclub 依然保持着比较古老的方式,express + ejs + mongoose 等。原项目缺乏一些工程性的问题:
- 基于 Callback 回调的风格,在维护上较为困难。
- 没有健壮的进程守护机制,纯粹依靠 PM2 。
- 目前该项目运行时也是单机模式,没有更好的可用性。
本次我们基于 ES 8、Egg 框架,在不改写业务逻辑,不改写 UI 、交互的前提下,对该项目完成了重写。重写之后的 egg-cnode 具有更好的特性,尤其是在可维护性上,有极大程度上的改进,在测试覆盖率方面,以更少的代码量实现了更高的覆盖率。重写过程历时 3 个礼拜,贡献人数 10 人,以社区协作的形式完成。
我们将在稍后的一个时间将新的版本进行上线测试,也欢迎大家关注我们新的代码仓库。最后感谢:@sinchang、@thonatos、@lqs469 等人参与的贡献。欢迎大家继续关注我们的项目。
点赞
来自酷炫的 CNodeMD
学习 EggJS 的另一好项目
这个源码我觉得我要读一下。
赞,朴老师效率杠杠的。
目前正在闭关中,过程中基本上没参与,过后会抽时间 Review 下。
这个版本主要聚焦于旧代码迁移,尽量不涉及到优化。很多地方的用法不见得是合理的,有兴趣看源码的同学,可以提 PR 继续优化。
譬如:
- ejs 重构为 nunjucks
- 使用
egg-validate
来重构参数校验 - docker 化部署
- 使用 TS 重构 (未来的未来,等 tegg 出来后)
几天前就看到egg-cnode,期待!!!
界面也考虑更换么?还是保留现在的风格?
@mengdu 这些都好说,后面提 PR 优化即可。这个版本主要聚焦在于迁移,不做功能变更。
不错
点赞
点赞
顶
建议把发帖的测试接口对接到测试区,现在测试帖太烦人了
现在已经部署到这个新版本了吗?
年前还在想这个事儿,朴老师好快
666
期待!
点赞
@okoala 不要光点赞,来 Review
薅羊毛,欢迎使用 nodejs 做无栈开发:Enhancer 云开发平台
期待
666,回复来自内测的新版 cnode
(@ο@) 哇~,👍
回复来自内测的新版 cnode
6666
来自新版回复
6666
66666,终于重写了
来自新版的赞
为什么clone下项目,运行npm run start 的时候 ,页面 js 和 css 没有加载进来,npm run dev 没问题 一起正常
@thonatos 求解答
666666666
@atian25 注册的时候,页面报错。。。
@nanzm npm run start 之前 执行下 npm run assets
@JacksonTian 发现了 是locals.js 这个中间件里的app.config.mini_assets 这个值是 undefined config里配置一下就好了
广州 CNoder 发来贺电
支持支持
支持支持
刚好可以拿来学习,入门egg一直没有适合的项目借鉴~
nice!
点赞👍👍
搜索还是一如既往的谷歌啊,能否做三个,百度的,本地数数据库的,根据需求使用,因为有时翻墙不方便,到时帖子由于都是技术贴,搜索出来一个个分析,才能解决问题,百度收录也不少。支持双栈最好。
名字终于可以改了
@thonatos 把项目clone下来了 能用cnode的数据吗 本地数据库一片空白。。。
@ChEnZYKing 你说呢…
@atian25 执行npm start 会报错
[egg-scripts] Start got error, see C:\Users\admin\logs\masteikely additional logging output abr-stderr.log
[egg-scripts] Or use --ignore-stderr
to ignore stderr at startup.
是还要配置其他东西吗
@ChEnZYKing see C:\Users\admin\logs\masteikely additional logging output abr-stderr.log
666
@ChEnZYKing 显而易见…不能(逃
6666
缺少客户端测试sheet ^^
那么快么,刚刚还没有,现在就有了
新发布了。
朴老师给力
666
最近有点忙了,改天试试看看本地部署下
朴老师速度真是快啊,社区的力量确实大,我上个月还说要用eggjs重写一版,才写到一半,结果今天看到社区已经上线公测了
我现在一些项目,都是基于nodeclub 来进行的写的,对我的学习提供了很大的帮助,非常感谢cnode社区,现在又要有新的学习目标了
赞朴老师~
@FrankLiu 所以要关注社区~ 现在就可以直接参与进来,完善 cnode
很期待。。。,膜拜大神
赞一个
厉害,记得去年 自己刚用egg ,做了一个特别简单的小demo,没想到,这都已经实际应用了。
赞,又一个egg的学习项目了~
期待,希望这个社区越来越好
点赞
以后会把这个域名映射到新的这个吗
666
数据库脚本在哪呀,本地搭试试
点赞! From cnode-with-umi
太炫了!
@lqs469 还没通过审核合并吗?测试后还不行。https://www.google.com.hk/#hl=zh-CN&q=site:cnodejs.org+ngnix,是访问这个地址。我看了下代码 估计 要等egg.cnodejs.org 切换成主站之后才能使用。
赞,egg越来越强大了。
这个编辑器不能直接显示图片吗?
学习中,最喜欢的就是看cnode的源码,学习的贼快,辛苦了!
期待,最近正想研究 egg
这个项目代码没写完吗?我看登录成功了顶部还是显示登录按钮
666
唔,原来已经上线了,👍
@i5ting ds
我怎么说,登录状态没了!
反馈个问题,找回密码
邮件收不到。
没办法输入用户密码,总是跳转到internal server error 500
@xjchenhao 我也是收不到
社区版,git登陆上不去了。
Cannot GET /passport/github/callback
不错
不出
a try
点赞
点赞
你好呀
你好呀
测试
测试测试ceshi1
你好
@sonong 代码已经合并进去了, 可配置, cnode目前朴灵老师表示考虑到性能因素不会使用站内搜索. https://github.com/cnodejs/egg-cnode/issues/106#issuecomment-375214554
不错
123<br/><br/><a class=“form” href=“https://github.com/soulcm/react-cnode-mobile”>vue-cnode-mobile</a>
赞一个!
阿萨德
阿萨德
阿萨德
bgdbd
bgdbdbdb
问下朴老师是谁??
好难
朴老师到底是谁呀
123
321
321
aaa
111
222
李凯
222
@Lizhooh sadsdd
1111
gg
keyi
嘿嘿
99
asssssssssd
asssssssssd
asssssssssdsssss
99999999999999999
asdasd
123
99999999999999999
111111111111111
edeafafafffefew
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
scascas
@yaoyaowen11 shilierong吃屁
1
好棒!
好棒
vwebeber
vrwegwegwrgw
擦破你妈
dsddsd
123
666
刚刚用github登录报错了 Cannot GET /passport/github/callback @JacksonTian
点赞
666
法国的效果相当高的
we w
mlgb
wrnmmp
hahahahah
你哈
@Sia0128 hahah
@myisliuyuchuan fgf
@myisliuyuchuan jhohk
@myisliuyuchuan hvkhjk
@1353445394 jjk
@waitingsong 急诊科大学女方家看电视
mmp
@BelieveMIN 借款方个健康
@yaoyaowen11 时代峻峰he
@Lizhooh李凯是猪
addddd
fsfsdgfdsgdsg
@qishuangyan asdsadsfdsfdsf
11111
@lqs469 多谢lqs469我看过issues的讨论了,这次重构考虑了用户体验
+1
2222
期待!
1
asdffasdf
asdasdas
不错啊。
这个源码我也觉得我要读一下
这个源码我也觉得我要读一下
正在看
@atzcl 1313
@Lizhooh good
66666
厉害,给人看起来很清爽
赞
@nanzm app.config.mini_assets 这个值是 undefined config里配置一下就好了,这里的配置指的是在config.prod.js里 加一行exports.mini_assets = true;吗?我加上了 却也还是npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cnode@1.0.0 assets: loader app/view app/
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the cnode@1.0.0 assets script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\sonong\AppData\Roaming\npm-cache_logs\2018-0
@nanzm npm run assets,执行报错0 info it worked if it ends with ok
1 verbose cli [ ‘C:\Program Files\nodejs\node.exe’,
1 verbose cli ‘C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js’,
1 verbose cli ‘run’,
1 verbose cli ‘assets’ ]
2 info using npm@5.6.0
3 info using node@v8.11.3
4 verbose run-script [ ‘preassets’, ‘assets’, ‘postassets’ ]
5 info lifecycle cnode@1.0.0~preassets: cnode@1.0.0
6 info lifecycle cnode@1.0.0~assets: cnode@1.0.0
7 verbose lifecycle cnode@1.0.0~assets: unsafe-perm in lifecycle true
8 verbose lifecycle cnode@1.0.0~assets: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\gitendclub\node_modules.bin;C:\Program Files\Microsoft MPI\Bin;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Intel® Management Engine Components\DAL;C:\Program Files\Intel\Intel® Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel® Management Engine Components\IPT;C:\Program Files\Intel\Intel® Management Engine Components\IPT;C:\Program Files\Common Files\Autodesk Shared;C:\Program Files\Microsoft SQL Server\110\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn;C:\Program Files\dotnet;C:\Program Files\Git\cmd;C:\WINDOWS\System32\OpenSSH;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\nodejs;C:\Users\sonong\AppData\Local\atom\bin;C:\Users\sonong\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\Program Files\Microsoft VS Code\bin;C:\Users\sonong\AppData\Roaming\npm
9 verbose lifecycle cnode@1.0.0~assets: CWD: C:\gitendclub
10 silly lifecycle cnode@1.0.0~assets: Args: [ ‘/d /s /c’, ‘loader app/view app/’ ]
11 silly lifecycle cnode@1.0.0~assets: Returned: code: 1 signal: null
12 info lifecycle cnode@1.0.0~assets: Failed to exec assets script
13 verbose stack Error: cnode@1.0.0 assets: loader app/view app/
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:925:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid cnode@1.0.0
15 verbose cwd C:\gitendclub
16 verbose Windows_NT 10.0.17134
17 verbose argv “C:\Program Files\nodejs\node.exe” “C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js” “run” "assets"
18 verbose node v8.11.3
19 verbose npm v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error cnode@1.0.0 assets: loader app/view app/
22 error Exit status 1
23 error Failed at the cnode@1.0.0 assets script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
@JacksonTian 朴大 npm run assets 报错,13 verbose stack Error: cnode@1.0.0 assets: loader app/view app/
,最终导致npm run start 失败
前来学习
来自酷炫的 CNodeMD
@lqs469 配了local 中文搜索 搜不出 会是什么原因?
@lqs469 感谢大神,晚上回去测一下再反馈。
我有个小小问题想问下,希望能得到回复~~~~ 在model中
from_wp: { type: Boolean }
这字段是干什么的呢,没看到相关代码哦?
现在又切回 https://github.com/cnodejs/nodeclub/ 了吗