写在前边

有关 Nodejs,相信看那篇的稿子的同伴已经精晓了累累,有壹部分了 Nodejs
基础。然而 Nodejs 如何行使,如何用 Nodejs
搭建在服务器上,作者想好多小伙伴想明白,在那边享受小编的心得体会,希望对你的劳作学习抱有帮忙。
服务器的搭建有为数不少种,举例 Java,PHP,而本身主推Node.js。为啥?因为快。Node.js
入门快,比较别的语言更易于进入后台的社会风气;安装快,配置简单;命令简单命理术数。不过对于广大童鞋来讲,学习了
Node.js 的基础知识,却不掌握该怎么使用 Node.js ,怎样推行。

此番作者就匡助童鞋火速入门,尽快采纳起 Node.js,在实战中学习
Node.js,对工作和上学都有越来越好的拉拉扯扯。

一、利用基于 Node.js 的 Express 快捷搭建项目。
二、介绍 Express 项目结构。
三、学习怎么样连接 MongoDB 数据库,利用 Node.js 操作 MongoDB 数据库。
4、Express 的类别是 .jade 页面,咋样改为 .html 页面。
5、学习怎么修改目录结构,使其能够在真正的花色中利用

壹.应用 Nodejs 快捷搭建项目

先是安装 Express

npm install express-generator -g    

用Express飞速转移项目

express demo
cd demo
npm install

运作项目,检查实验是或不是搭建成功

npm run start

在浏览器张开http://localhost:3000
,这几个地址是Express连忙搭建项目暗许之地址,在bin目录下的www文件里,如图

商厦微信截图_ef9c5153-4d13-463c-94e7-be4170e11f7a.png

类型搭建实现,是或不是相当慢。那就是本身欣赏Node的位置

二.Express目录结构介绍

  • bin:项目标启航文件,默许www
  • node_modules:存放项目具有的依赖性库,暗许body-parser、cookie-parser、debug、jade、express、morgan、serve-favicon。
  • public:静态能源文件夹,私下认可images、javascripts、stylesheets。
  • routes:路由文件
  • views:页面文件,jade模板,私下认可error.jade、index.jade、layout.jade。自己平时用的html模板,下边将讲下怎么样修改
  • package.json:项目依赖配置,做过java后台的,能够跟maven相比下,大约。
  • app.js:应用中央配置文件,项目进口,程序入口。

enter image description here

3.连接MongDB数据库

开荒终端,运转命令

 npm install mongolass -s

在bin目录下增添文件,mongo_base.js,里面包车型客车代码如下

const Mongolass = require('mongolass');
const mongolass = new Mongolass();

exports.db = { mongolass: mongolass };
const db = exports.db;

let connected = [];
exports.OnConnected = function (fn) {
    if (fn) {
        connected.push(fn);
    }
};

//'mongodb://localhost:27017/testdb'
exports.connectDB = function (conn) {
    return mongolass.connect(conn).then(function () {

        //================USER RELATED==================
        db.test = mongolass.model('test', {
            name:{type:'string'},

        });
        db.test.insert({name:'test'}).exec()

        connected.forEach(function (oneFn) {
            if (oneFn) {
                oneFn();
            }
        });

    });

};

在www文件里增多代码

require('./mongo_base').connectDB('mongodb://localhost:27017/testdb');

我们的MongDB连接成功。 运营Computer的MongDB,然后重启项目。
上边检查是否大家中标了。 打开终端,然后运维命令,进入到mongdb。

mongo

下一场运营命令,查看是或不是增添上数据库testdb

show dbs

enter image description here

好了,大家的门类MongoDB数据库加多实现。

四.Express的花色是.jade页面,怎么着修改为.html的页面。

进入根目录,输入指令

npm install ejs -s

找到根目录下的app.js,参预代码

var ejs = require('ejs');  //引入的ejs插件
app.engine('html', ejs.__express);//设置html引擎
app.set('view engine', 'html');//设置视图引擎

在app.js里,去掉代码

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

重启服务,在view里增加html页面,同时在routes里可能在app.js里增加调控器,就足以访问html文件了。实例代码如下,在浏览器访问http://localhost:3000/b

enter image description here

5.哪些修改目录,使其能够在真实的品种中运用

在那几个类型中我们想以mvc的方式开垦。那么如何修改目录呢,能够到达大家的目的。上边注意自己说的,新建目录和新建文件,不要弄混。

一.首先新建目录,auth,把地方的建的mongo_base.js放在这一个目录里。然后新建文件index.js,代码如下

let MG = require('./mongo_base.js');

exports.db = MG.db;
exports.connectDB = MG.connectDB;
exports.OnConnected = MG.OnConnected;

二.修改bin目录下www文件里的关于mongo_base.js的引进调用。改后如下

enter image description here

三.在routes下新建多个目录controller,db。

  • controller:就是大家的mvc的c,用于调控大家任何程序,大家的逻辑代码在此间编写。
  • db:正是大家的mvc中的m,用于数据库表的开创。

把index.js、users.js放在controller的目录里。请小心修改app.js代码里有关那多少个文本的门径引进。

四.在db目录下新建文件user.js。用于在数据仓库储存款和储蓄用户。修改后目录如下图。

enter image description here

伍.在user.js里编写代码

const db = require('../../auth').db;
exports.OnConnected = require('../../auth').OnConnected;

const onConnect = function () {
    const mongolass = db.mongolass;

    //===============DEVICE RELATED==================

    // socket.io room. Connect it with `http://{server}/{roomId}`
    db.user = mongolass.model('user', {
        nickname:{type:'string'},
    });

};

exports.OnConnected(onConnect);
exports.db = db;

陆.改换controller下的index.js,修改后如下

var express = require('express');
var router = express.Router();
const MG = require('../db/user');
let dbTable;
MG.OnConnected(function () {
    dbTable = MG.db.user;
});

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});
router.get('/test', function(req, res, next) {
       return dbTable.insert({nickname:'abc'}).exec().then(function () {
           res.send('存储成功');
       })

});

module.exports = router;

柒.再次起动项目,在浏览器中输入http://localhost:3000/test
,如下图!

enter image description here

写在前面

那篇小说每写一步,笔者都会融洽运营,希望见到那篇文章的童鞋能够入门express的实战,并在实战中创设和睦的架构。

相关文章

网站地图xml地图