javascript代码实例教程-nodejs+mongodb做项目的详解

发布时间:2019-01-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-nodejs+mongodb做项目的详解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 1.准备工作

 

Nodejs、exPress和mongodb的安装(这里安装的都是最新版的)

 

### 安装: ###

Nodejs的安装没什么说的。不过安装完之后测试是否成功用过原来版本的同学可能会有一些问题。

原来的版本是:$ node -v 新版不在支持$,直接在命令行中:node -v

 

安装最新版的exPRess之后,需要在安装:express-generator //express命令工具,很多初学者都会遇到这个问题(当然我也是)

mongodb的安装下面会讲解到。

 

 

 用express创建一个项目的框架。 

 

这个我创建一个名字叫chihou的网站,用的模板引擎是ejs。

 

>express -e chihuo

 

-e表示ejs模板引擎,不写 -e 默认的创建jade模板引擎

 

 

然后在输入:

cd chihuo //进入到你创建的项目目录

npm install //读取根目录中的package.json文件然后安装项目所依赖的包

 

然后通过cmd命令行 cd 到 chihuo 的目录下 

>node app

 

这样就启动项目了。

 

提示1:如果不能启动项目:看看app.js文件中没有监听端口。如果没有,

在 module.exports = app; 语句之前添加app.listen(3000);

 

提示2:Ctrl + c 终止运行

 

然后我们可以在浏览器地址栏里敲入 https://127.0.0.1:3000/ 或者 https://localhost:3000 

这就是你的第一个express创建的node app。

 

到这里你就完成了项目的重要的一步。

 

之后的讲解 我们从目录开始

 

--node_modules 项目中依赖的包

--public 公共资放的目录

--routes 学名 路由,里面放着一些路由文件

--views 放着就是页面文件了

--app.js 项目的入口文件。当然你也可以改成其他的名字。

 

2.现在基本的结果已经有了,之后就是创建数据库

 

mongodb的安装

 

这里只介绍window的安装

在官网上下载zip,这个我装在D盘的mongodb目录下

 

1.在D盘中创建mongodb文件夹然后把下载的包解压后把其中的bin文件夹拷贝到创建的mongodb文件夹中,

2.然后在mongodb文件夹中创建一个data文件夹,再在data文件夹中创建db文件夹

3.打开CMD命令行

>d:

>cd mongodb/bin

>;mongod -dbpath D:/mongodb/data/db

4.在打开一个CMD命令行:

>d:

>cd mongodb/bin

>mongo

5.这样就可以用了。

 

接着就设计我们的数据库了

 

在刚才的打开的mongodb数据库中输入:

>use chihuo //创建一个叫chihuo的数据库

>db.createCollection("users") //创建一个集合

>db.users.insert({"name":"admin","password":"111"}) //给users集合添加一个文档。

>db.users.find() //查询你添加的文档

 

再接着就是在项目中连接刚才创建的数据库了

 

在项目根目录下创建一个的文件夹database,然后在创建一个

db.js

 

复制代码

1 VAR mongoose = require('mongoose');

2 var db = mongoose.createConnection('mongodb://localhost/chihuo');//;连接数据库

3 var Schema = mongoose.Schema; // 创建模型

4 var userScheMa = new Schema({

5 name: String,

6 password: String

7 }); // 定义了一个新的模型,但是此模式还未和users集合有关联

8 exports.user = mongoose.model('users', userScheMa); // 与users集合关联

复制代码

 

 

3.接着在views文件夹创建视图文件了

 

我们上面用express创建的项目视图文件是ejs后缀名,我们一般习惯使用htML后缀名。

那么我们怎么让他识别html的视图文件呢?

 

在app.js文件中 找到

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

把它替换成:

>app.set( 'view engine', 'html' );

再用app.engine()方法注册模板引擎的后缀名。代码:

>app.engine('.html',require('ejs').__express);//里面的下划线是两个

 

然后我们创建一个LOGin.html(登陆页面),index.html(原来有,改一下后缀名就行),ucenter(登陆之后的页面);

 

 

 

复制代码

 1 login.html

 2 <!DOCTYPE html>

 3 <html>

 4 <head>

 5   <tITle><%= title %></title>

 6   <link rel='stylesheet' href='/stylesheets/style.css' />

 7 </head>

 8 <body>

 9   <h1>Hello World</h1>

10   <p>Welcome to <%= title %></p>

11   <form action="ucenter" method="post">

12     <p>

13       <span>name:</span>

14       <br>

15       <input id="name" name="name" type="text">

16     </p>

17     <p>

18       <span>password:</span>

19       <br>

20       <input id="password" name="password" type="password">

21     </p>

22     <p><input type="submit" value="submit"></p>

23   </form>

24 </body>

25 </html>

复制代码

 

 

复制代码

 1 index.html

 2 <!DOCTYPE html>

 3 <html>

 4 <head>

 5   <title><%= title %></title>

 6   <link rel='stylesheet' href='/stylesheets/style.css' />

 7 </head>

 8 <body>

 9   <h1>Hello World</h1>

10   <p>Welcome to <%= title %></p>

11   <p><a href="login">登陆</a></p>

12 </body>

13 </html>

复制代码

 

 

复制代码

ucenter.html

<!DOCTYPE html>

<html>

<head>

  <title><%= title %></title>

  <link rel='stylesheet' href='/stylesheets/style.css' />

</head>

<body>

  <h1>Hello World</h1>

  <p>Welcome to <%= title %></p>

  <p>你已经登陆</p>

</body>

</html>

复制代码

 

 

 4.最后就是路由的控制了,在routes文件中的index.js 

 

复制代码

 1 var express = require('express');

 2 var router = express.Router();

 3 var user = require('../database/db').user;

 4 

 5 

 6 /* GET home page. */

 7 router.get('/', function(req, res) {

 8   res.render('index', { title: 'index' });

 9 });

10 

11 /*login*/

12 router.get('/login', function(req, res) {

13   res.render('login', { title: 'login' });

14 });

15 

16 /*ucenter*/

17 router.post('/ucenter', function(req, res) {

18   var query = {name: req.body.name, password: req.body.password};

19   (function(){

20     user.count(query, function(err, doc){

21       if(doc == 1){

22         console.log(query.name + ": 登陆成功 " + new Date());

23         res.render('ucenter', { user:doc });

24       }else{

25         console.log(query.name + ": 登陆失败 " + new Date());

26         res.redirect('/');

27       }

28     });

29   })(query);

30 });

31 

32 module.exports = router;

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-nodejs+mongodb做项目的详解全部内容,希望文章能够帮你解决javascript代码实例教程-nodejs+mongodb做项目的详解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。