源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

nodejs教程之环境安装及运行

  • 时间:2020-08-06 11:38 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:nodejs教程之环境安装及运行
[b]让nodeJS跑起来[/b] 第一步当然是安装nodeJS环境了,现在windows安装nodeJS比较快了,直接下载即可: http://www.nodejs.org/download/ 这里根据需要下载,下载完成后直接下一步下一步即可,完了我们就具有nodeJS环境了 第二步,为了方便我们后面操作,我们直接在D盘见了一个文件夹blog 然后打开windows命令行工具,进入d盘,输入:
[url=file://]\\'[/url]";     } else if (stri == "\r") {       // ignore     } else if (stri == "\n") {       if (consumeEOL) {         consumeEOL = false;       } else {         buf += "[url=file://n/]\\n[/url]";         lineno++;       }     } else {       buf += stri;     }   }   if (false !== options._with) buf += "'); })();\n} \nreturn buf.join('');";   else buf += "');\nreturn buf.join('');";   return buf; };
就如,我们这里使用到的ejs模板以及express模块,然后我们好奇的走进了ejs的程序看看究竟有何不同 打开,ejs.js后,我们抽一点代码出来看:这段代码我们比较熟悉,他与underscore的模板引擎代码思想一致,都是将模板解析为字符串 然后通过eval或者new Function的方法将之转换为函数,并且传入自己的数据对象好解析 至于具体工作流程,现在我们还不知道,只能放到后面点研究了,好了我们现在进入其他模块 [b]app.js[/b] 作为入口文件,app.js扮演着举足轻重的角色:
[url=/stylesheets/style.css]   </head>   <body>     <h1><%= title %></h1>     <form method="post">         <div>用户名:<input type="text" name="name"/></div>         <div>密码:<input type="password" name="password"/></div>         <div><input type="submit" value="登陆"/></div>     </form>   </body> </html>
这个样子,我们页面就形成了: [img]http://files.jb51.net/file_images/article/201411/2014112114205047.png[/img] 基本程序有了,我们现在需要数据库支持,于是我们要安装mongoDB环境 [b]MongoDB[/b] MongoDB是一个基于分布式文件存储的NoSQL的一种,由C++编写,MongoDB支持的数据结构松散,类似json,我们知道json可以支持任何类型,所以可以搞出很复杂的结构 [b]安装MongoDB[/b] 首先去http://www.mongodb.org/downloads下载安装文件,然后将文件拷贝到D盘改名mongodb,然后在里面新建blog文件夹 然后打开命令行工具将目录切换至bin,输入:
[u]复制代码[/u] 代码如下:
mongod -dbpath d:\mongodb\blog
设置blog文件夹为工程目录并启动数据库,为了方便以后我们写一个命令以后直接点击就启动数据库了:
[u]复制代码[/u] 代码如下:
d:\mongodb\bin\mongod.exe -dbpath d:\mongodb\blog
[b]链接MongoDB[/b] 数据库安装成功后,我们的程序还需要相关的“驱动”程序才能链接数据库,这个时候当然要下载包...... 打开package.json在dependencies新加一行
[u]复制代码[/u] 代码如下:
{   "name": "application-name",   "version": "0.0.1",   "private": true,   "scripts": {     "start": "node app.js"   },   "dependencies": {     "express": "3.4.8",     "ejs": "*",     "mongodb": "*"   } }
然后运行npm install下载新的依赖包,这个样子与mongoDB相关的驱动就有了,要链接mysql等数据库还需要其他依赖包 这时在根目录下创建setting.js文件,保存数据库连接信息
[u]复制代码[/u] 代码如下:
module.exports = {   cookieSecret: 'myblog',   db: 'blog',   host: 'localhost' };
db是数据库名称,host是数据库地址,cookieSecret用于cookie加密与数据库无关 接下来根目录下新建models文件夹,并在models文件夹下新建db.js
[u]复制代码[/u] 代码如下:
var settings = require('../settings'),     Db = require('mongodb').Db,     Connection = require('mongodb').Connection,     Server = require('mongodb').Server; module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT), {safe: true});
[u]复制代码[/u] 代码如下:
new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT), { safe: true });
设置数据库名,数据库地址和数据库端口创建一个数据库实例,并通过module.exports导出实例,这样就可以通过require对数据库进行读写 需要成功写入数据库,服务器端程序就需要处理post信息,于是我们在models文件夹下新建user.js
[u]复制代码[/u] 代码如下:
var mongodb = require('./db'); function User(user) {   this.name = user.name;   this.password = user.password; }; module.exports = User; //存储用户信息 User.prototype.save = function (callback) {   //要存入数据库的用户文档   var user = {     name: this.name,     password: this.password   };   //打开数据库   mongodb.open(function (err, db) {     if (err) {       return callback(err); //错误,返回 err 信息     }     //读取 users 集合     db.collection('users', function (err, collection) {       if (err) {         mongodb.close();         return callback(err); //错误,返回 err 信息       }       //将用户数据插入 users 集合       collection.insert(user, {         safe: true       }, function (err, user) {         mongodb.close();         if (err) {           return callback(err); //错误,返回 err 信息         }         callback(null, user[0]); //成功!err 为 null,并返回存储后的用户文档       });     });   }); };
[u]复制代码[/u] 代码如下:
//读取用户信息 User.get = function(name, callback) {   //打开数据库   mongodb.open(function (err, db) {     if (err) {       return callback(err);//错误,返回 err 信息     }     //读取 users 集合     db.collection('users', function (err, collection) {       if (err) {         mongodb.close();         return callback(err);//错误,返回 err 信息       }       //查找用户名(name键)值为 name 一个文档       collection.findOne({         name: name       }, function (err, user) {         mongodb.close();         if (err) {           return callback(err);//失败!返回 err 信息         }         callback(null, user);//成功!返回查询的用户信息       });     });   }); };
这里一个写数据,一个读数据,处理程序有了,现在需要在index.js前面加上如下程序
[u]复制代码[/u] 代码如下:
var User = require('../models/user.js');
再修改其中的app.post('/register')
[u]复制代码[/u] 代码如下:
app.post('/register', function (req, res) {   var name = req.body.name;   var pwd = req.body.password;   var newUser = new User({     name: name,     password: pwd   });   newUser.save(function (err, user) {     //相关操作,写入session     res.send(user);   }); });
然后点击注册后便会有反应了 [img]http://files.jb51.net/file_images/article/201411/2014112114205048.png[/img] [img]http://files.jb51.net/file_images/article/201411/2014112114205049.png[/img] 如果此时不能确定是否写入数据库,便可进入数据库查询一番,首先切换至数据库目录
[u]复制代码[/u] 代码如下:
D:\mongodb\bin>
输入:
[u]复制代码[/u] 代码如下:
mongo
然后切换其数据库连接至blog
[u]复制代码[/u] 代码如下:
use blog
最后输入
[u]复制代码[/u] 代码如下:
db.users.find()
[img]http://files.jb51.net/file_images/article/201411/2014112114205150.png[/img] 我们大家就开心的看到数据写入了,于是今天的学习暂时告一段落 [b]结语[/b] 今天我们跟着一篇博客完成了从安装到写入数据库的操作,明天让我们来将其它方面加入,逐步深化nodeJS的学习
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部