发布一个用nodejs建的小站
发布于 2年前 作者 nihgwu 5964 次浏览

网址:http://byhh.cooljs.org
没什么特别的,Node.js+MongoDB+Bootstrap,后端爬虫加前端界面,本来说重点是爬虫,界面是其次,就想着找了个省事的框架,选了geddy,结果完全不省心,缺文档,各种坑,本来初学nodejs,没办法硬着头皮看代码查bug,回想起来或许我直接用expressjs都会省心好多,下一步打算先把geddy格掉
网站内容嘛懂的人秒懂,不明白的人就完全与你无关
最后求推荐好用的基于nodejs的blog系统,顺便求NAE邀请码

47 回复

请问网站上图片怎么保存的?用的gridFS?

没听过gridFS,完全初学,直接存到数据库里面了。。

@nihgwu 额。。怎么存的,俺也初学,能把代码分享下吗?

@xiaoxingxing123 binary啊,geddy里面只有Object类型,看了下,貌似那个站点的图片不允许超过500K,所以不存在过大的问题,代码嘛,其实就个爬虫,先把geddy去掉再放到github上去

谢谢,其实界面是很让人头大的一件事,第一次用Bootstrap,蛮好用的,当然也是第一次用Node.js跟MongoDB

请问一下,node.js写后台,那数据库用的什么啊??用什么存储数据的,跑起来相对于php,.net咋样??

MongoDB就是數據庫了

这个纯粹是为了node而node,用过.net的表示调试不是那么轻松

基于Node.js的博客系统的话,金氧的Solo或者TooBug的Solo都不错(你没看错,两个都叫做Solo),都是采用MarkDown生成静态网页,不需要数据库支持。前者直接用HTML网页做模板,后者用的 Jade;前者用的多说实现了评论系统。后者还处于完善状态。 https://github.com/lambgao/solo https://github.com/TooooBug/solo

另外就是Simple Blog,不过需要MongoDb支持。wheat,不需要数据库。除此之外还有This Blog,这个的作者没提供Demo Blog,所以没仔细看。上面的三个都可以在npm上搜索到。

个人偏爱金氧的Solo,因为第一是功能基本上完成了,第二是因为。。。它有说明文档是中文的。。。。。

@nihgwu 看来还是只能用在小型程序上,大型的架构是不能跑它的!

不喜欢用nodejs做界面,自己喜欢用nodejs做服务

我对于爬虫很感兴趣,因为原来在本机试过,发到网上就启动不了咯,楼主用的什么服务器?关于爬虫,如果公开代码最好,不能的话也可以写点blog介绍一下。

我这个人很懒,不喜欢写东西,哈哈,不过爬虫写的蛮简单的,request+async+cheerio,用request抓取数据,async做任务调度,cheerio做内容解析

@artisan 貌似说反了吧。。

@nihgwu 挂在哪个服务器上的啊?我用appfog的服务,结果服务启动不了

@cony138 用的自己的服务器。。

@nihgwu 好吧.那可够累的

貌似还没有完成度很高的blog系统,大家都倾向于自己再造轮子

@cony138 还好吧,表示还算稳定

本来蓝色挺好看的,被你改成红色,好丑啊,还有就是网站源代码能不能开放给大家学习一下,托管在github上面呢。

@nihgwu 嗯,确实没看到有用Nodejs实现的功能非常强大的Blog。不过个人觉得,一个足够简洁并且可以高度定制的静态博客基本上就足够我用了,虽然在没有数据库的情况下评论系统比较痛苦,只能用第三方的评论系统。个人偏爱WordPress那样的评论系统,简单,不需要登录。所以我现在还是在用WordPress写博客

囧,个人偏爱红色,代码会放出来的,只是现在因为用的geddy做的,数据库操作那有bug,导致代码写的不够好

@pl9165 我要是再用wp来搭建blog的话,就是服务器同事跑着asp.net+nodejs+php了,感觉怪怪的,而且抓要是从来没有接触过php,所以有点抵触。。

看到了你们的东西,一定加紧完成我的东西,不过界面真是个很麻烦的东西

我虽然用了bootstrap,但是为了把界面调整到自己满意的样子,也是消耗了蛮多精力

@nihgwu 我现在都晕了,恨死前端了,我是用angular +bootstrap 做的,js 压缩后就怕有问题。

@firstgeniusboy 我倒是蛮喜欢前端的,只是能力有限,哈哈

@nihgwu 那你看看angularjs把,前端mvc,其实概念早就有了。只是google把它又发展了一部。

@nihgwu 呃。。。。。ASP.net和PHP同时跑感觉是有点怪异。动态网页语言里面个人比较偏爱PHP,不过一直没时间去学。

请问你做的这个小站用了多久时间?

断断续续用了一周时间上线吧,那段时间也蛮忙的,都是利用晚上的时间

请问下是自己租的服务器吗??

算是我管理的吧。。

求教,如果用原生http.get函数,所获得的response是一个stream,最后拿到手的是一串string。但是有些网站的api直接返回的是json或数组,怎么分析?难道还要自己编一个duplex stream处理string么?

没这么复杂吧,如果本来就是utf-8直接读取不就可以了?改了下官方的例子:

var http=require('http');
http.get("http://byhh.cooljs.org/top10", function(res) {
  console.log("Got response: " + res.statusCode);
  res.on('data', function(data) {
    console.log("Got data: " + data);
  });
}).on('error', function(e) {
    console.log("Got error: " + e.message);
});

@bloodspencer 推荐使用request~~~https://github.com/mikeal/request

广告下,我的小站,同样是node+mongodb, http://www.17qingsong.com/

@xieren58 我就是用的request+iconv-lite+cheerio

@nihgwu 对,但这样获得是一串string…如果在浏览器端,用jQuery或者angular,拿到手的就是一个javascript对象,一般是json,或者数组封装的json

@xieren58 谢谢……去学习下

@nihgwu 因为res其实是utf-8编码的buffer。所以最后到手的是string。

讲得不清楚,我等等写段能跑的代码。

btw,icon-v是神马东西

@bloodspencer 因为我采集的页面内容是gb2312编码的,需要先用iconv-lite解码成utf-8

敢问LZ是关山口职业技术学校的吗?

这还用问吗

@nihgwu

这种抓取,如果遇到301,还是要多一步处理。用request就更方便了。

http://blog.fens.me/nodejs-crawler-douban/

回到顶部