- 时间:2022-01-27 01:44 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
本文改自非鱼的《【翻译】前端开发人员入门指南,从零开始搭建Node.js, Express, Jade, Mongodb服务器》,之所以把Jade换成Ejs,是因为我觉得ejs更符合WEB编程人员的习惯,更确切说应该是更符合PHP、ASP程序员的使用习惯。好了,废话不多说,直接开始教程。
[b]第1部分 – 15分钟安装[/b]
如果你真的是从零开始学,那就花点时间先把环境搭建起来吧。这不难,我用的是Win8,所以这看上去跟那些用Mac和Ubuntu或者其它*nix系统的教程有点区别,不过大致是一样的。
[b]第1步 – 安装Node.JS[/b]
这很容易,进入testuser1@testdomain.com 代码如下:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
在它下面添加:
<%=userlist[i].email%>”><%=userlist[i].username%></a></li>
<% } %>
</ul>
</body>
</html>
保存文件,重启node服务器。希望你还记得怎么重启。打开浏览器,访问http://localhost:3000/userlist,你应该能看到这样的界面:
[img]http://files.jb51.net/file_images/article/201412/2014122093243652.png?2014112093250[/img]
点提交按钮,你会看到一个“can 代码如下:
app.post('/adduser', routes.adduser(db));
注意这里是app.post,不是app.get了。来设置route吧。回到routes/index.js,创建我们的数据库插入函数。这个比较大,所以我建议你写好注释。
exports.adduser = function(db) {
return function(req, res) {
// Get our form values. These rely on the "name" attributes
var userName = req.body.username;
var userEmail = req.body.useremail;
// Set our collection
var collection = db.get('usercollection');
// Submit to the DB
collection.insert({
"username" : userName,
"email" : userEmail
}, function (err, doc) {
if (err) {
// If it failed, return error
res.send("There was a problem adding the information to the database.");
}
else {
// If it worked, set the header so the address bar doesn't still say /adduser
res.location("userlist");
// And forward to success page
res.redirect("userlist");
}
});
}
}
显然在真正的项目里你还需要做很多验证,比如用户名和email不允许重复,email地址必须符合一定的格式规则。不过现在我们先不管这些。你可以看到,当插入数据库完成时,我们让用户跳转回userlist页面,他们应该在那里看到新插入的数据。
这是最好的方式吗?
[b]第3步 – 连接数据库,写入数据[/b]
确保你的mongod在运行!然后重启你的node服务器。用浏览器打开http://localhost:3000/newuser。现在我们填入一些内容,点击提交按钮。如果顺利,我们应该回到了userlist页面,并且看到了刚刚添加的新数据。
现在我们正式的完成了使用Node.js,Exress,Ejs读取和写入Mongodb数据库,我们已经是牛X的程序员了。
恭喜你,真的。如果你认真的看完了这篇教程,并且很认真的学习而不只是复制代码,你应该对routes, views,读数据,写入数据有了完整的概念。这是你用来开发任何其它完整的Web网站所需要的一切知识点!不管你怎么想,我觉得这真挺酷的。
[b]第5部分 – 下一步[/b]
现在开始,你拥有无限的可能。你可以看看Mongoose, 另一个处理MongoDB数据库的Node包。它比Monk更大一些,功能也更丰富。你还可以看看Stylus,一个Express的CSS引擎。你可以Google一下Node Express Mongo Tutorial,看看接下来的内容。好好学习,天天向上。
我希望这篇教程能够有所帮助,我写这个是因为当我开始学习的时候我真的很需要这样的东西,但是又真的找不到。如果你已经看到了这里,非常感谢!