【一起学node.js (一)】用node+express搭建多人博客
发布于 2年前 作者 nswbmw 16841 次浏览 最后一次编辑是 1年前
28 回复

…发了半天没响应,没想到发出来了。。

express 3.x需要 express-partials 来支持layout 问一下系统么有自带 express-partials 怎么安装? 是需要自己手动安装一下系统没有自带的模块吗?

我用的require代替的。要是用express-partials的话,在

, path = require('path')

后添上

, partials = require('express-partials')

然后在

app.set('view engine', 'ejs');

后添上

app.use(partials());

就可以用express-partials了。

@nswbmw 嗯 是这样用的,你尝试过部署到NAE上面吗?在本地是ok,但是在NAE上有的模块系统没有,怎样才能够使用这些系统没有的模块,比如expresss-partials

@yutingzhao1991 我没有nae邀请码。。。顺便求码一枚。。。只要模块都在node_modules里,应该就行了吧,我用的appfog暂时没发现什么问题

@nswbmw 嗯 是的 就是nae的问题 不知道怎么解决了

@nswbmw 邀请码的话,留下你的邮箱

@yutingzhao1991 也希望能给我个邀请码,谢谢!邮箱[email protected]

求码!自己的域名可以单独挂吗?[email protected]

collection.ensureIndex('name’,{ unique:true });
这个语句是什么意思?

collection.find(query).sort({ time: -1 }).toArray(function (err, docs) { mongodb.close(); if (err) { callback(err, null); }

            var posts = [];

            docs.forEach(function (doc, index) {
                var post = new Post(doc.user, doc.title, doc.post, doc.time);
                var now = post.time;
                post.time = now.getFullYear() + "-" + (now.getUTCMonth()+1) + "-" + now.getUTCDate();
                posts.push(post);
            });
            callback(null, posts);
        });

这段代码做了什么?

ensureIndex是建立索引,后面做修改时把这一句删掉了。

把查询返回的数据按time键值降序排列存成数组,在返回这个数组前,把time键的值格式化成2013-xx-xx的形式,然后返回数组。

请问我的mongodb是以auth方式启动的,有用户名和密码,如何配置用户名密码去连接啊???

暂时没尝试过,所以不敢妄下断言。。。你看看这里有你想要的么 http://expressjs.com/api.html#basicAuth

@nswbmw 试过了,app.use(express.basicAuth('root’, ‘root’));方式是使用basicAuth方式认证以后才可以访问网站。不是数据库的授权配置

这里能用db.user.find()找出所有的用户信息,请问能用什么方法找出所有发布文章信息啊

是 db.users.find() 吧? 找出所有发布文章信息是 db.posts.find()

@nswbmw 哦,谢谢大神

@nswbmw 大神,怎么关闭nodejs的监听器啊,只从开启了这个监听器,再次启动这个js就会报错listen地址已经被使用,总一直把监听器开着不太好吧

@mnpqxz 大神,你为什么添加了文章页和用户页之后点击进去那个样式的路径变了,导致报400,页面找不到的错误

app.use(function(req,res,next){
var err = req.flash('error'),
    success = req.flash('success');
res.locals.user = req.session.user;
res.locals.error = err.length ? err : null;
res.locals.success = success.length ? success : null;
next();
});

弱弱的问一句,app.use(path,function,next) 三个参数是干什么的?

中间件不应该是 funciton(){ next()}这样的么?

第三个参数的next 是接受哪里的next()呀?

楼主,为什么我一运行node app,就一直出来一行一行的显示node app,都不执行了,反正只要在blog文件夹下面运行nodejs指令,不管运行哪个文件,都是一大串node app出现啊

回到顶部