node+express+mongodb初体验
从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp、grunt、yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续。
今天花了一天的时间,去了解整理整个学习思路,以下是我的学习分享,是入门级学习体验适合node+mongodb开发小白,node已玩过很久的大神这篇文章可能不适合。
开篇来个例子:
客户端表单页面:
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>表单页面</title> </head> <body> <form action="http://localhost:3000/"> <input type="text" name="title"/> <textarea name="text" id="" cols="30" rows="10"></textarea> <input type="submit" /> </form> </body> </html>
服务器的页面:
var http = require("http"); var open = require("child_process"); var querystring = require("querystring"); var server = http.createServer(function(req,res){ var post = ‘‘; req.on(‘data‘,function(chunk){ post += chunk; }); req.on(‘end‘,function(){ post = querystring.parse(post); res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"}); res.write(post.title); res.write(post.text); res.end(); }); }).listen(3000,‘127.0.0.1‘); open.exec("start http://127.0.0.1:3000");
这个一个简单的例子,我们实现前台表单提交,后台获取数据。
通过这个简单的例子,我们可能想要做更复杂的的项目,那我们该如何下手呢,node+express+mongodb:
第一部分,基本知识点概要
express--一个简洁而灵活的 node.js Web应用框架
mongodb--适合node的关系型数据库
Mongoose -- Mongoose是MongoDB的一个对象模型工具,既类似ORM,让NodeJS更容易操作Mongodb数据库,Mongoose文档
node模版引擎--ejs,jade node模版引擎的深入探讨
Web 模板 Jade、EJS、Handlebars 万行代码解释效率比较,Jade 完败 https://cnodejs.org/topic/50e70edfa7e6c6171a1d70fa
EJS --http://www.embeddedjs.com/ github文档 -- https://github.com/tj/ejs
Jade —— 源于 Node.js 的 HTML 模板引擎 http://segmentfault.com/a/1190000000357534
JadeAPI --- http://www.nodeclass.com/api/jade.html#doctype
mongodb --- http://docs.mongodb.org/manual/ 手册
MongoDB介绍及安装 -- http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html
什么是MongoDB ? --- http://www.w3cschool.cc/mongodb/mongodb-intro.html
第二部分,配置开发安装包
① 配置package.json --- npm init初始配置package包依赖
{ "name": "pfan", "version": "1.0.1", "description": "pfan", "main": "app.js", "dependencies": { "express": "^4.12.4", "jade": "^1.10.0", "mongoose": "^4.0.3" }, "devDependencies": { "body-parser": "^1.12.4" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
这里注意:其实配置package.json非常重要,我们写好所需的依赖模块,然后通过 npm install 就可以将参数里面的依赖一起进行安装,这里其实,我们可以在安装 npm install express generator 生成node项目的目录结构和依赖模块的package.json
②快速建立web mvc 目录结构
Express是一个轻量级、简洁、易用的Node.js Web MVC开发框架
全局安装,可以快速建立目录结构web mvc目录结构
npm install -g express-generator
创建 express webmvc目录结构项目
express devexpress
③安装node module包依赖npm install express
npm install express //web应用框架 npm install jade //模版引擎 npm install ejs //模版引擎 npm install mongoose //MongoDB的一个对象模型工具,操作更简单 npm install mongodb //MongoDB的驱动 npm install serve-favicon //统一设置网站icon npm install morgan //HTTP 请求日志中间件 npm install cookie-parser //cookie解析器 npm install body-parser //定义数据解析器 npm install bower -g bower install bootstrap
注意:提出一个问题,就是我们在命令窗口,执行npm install 会执行package.json里面的包依赖,则我们通过express 项目名称 这样去执行,之后在通过npm install 就可以了执行项目案例里面的依赖,从而安装整个项目框架
⑤启动express项目
npm start //貌似现在的项目变成这样启动了
第三部分,mongodb的坑 ---mongodb文档(有些老旧的api以作更改)
1.安装
首先,安装mongodb,直接解压安装,这里不再赘述。
下面,我们来讲mongodb和node连接起来,在工程文件夹webapp
下新建data
用来存放数据
cd node/webapp
mkdir data //新建data文件用来存放数据
出现这样的结果,说明连接mongodb成功了!
、
2.创建数据库
进入mongodb的安装目录D:\Program Files\mongodb\bin,敲命令mongo,切换数据库webapp
cd D:\Program Files\mongodb\bin //进入目录 mongo //执行mongo use webapp //使用webapp数据库,切换数据库
插入一个usercollection
表,执行:
db.usercollection.insert({ "username" : "testuser1", "email" : "[email protected]" })
执行,查看插入的数据,是否成功
db.usercollection.find().pretty() //查看插入的数据,是否成功
3.给数据库配置用户名和密码
cd D:\Program Files\mongodb\bin //进入目录 mongo //执行mongo use webapp //使用webapp数据库,切换数据库 db.createUser({createUser:"test",pwd:"test",roles:[{role:"dbOwner",db:"webapp"}]}) //设置用户名密码,老版本用的是db.addUser注意 show users //webapp现在已存在的用户
最后资源分享:
express例子:https://github.com/pingfanren/express
express与数据库的例子:https://github.com/pingfanren/expressSimpleBlog
博文:http://www.cnblogs.com/myzhibie/
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。