node+express+mongodb

目标

1、利用基于 Node.js 的 Express 快速搭建项目。
2、介绍 Express 项目结构。
3、学习如何连接 MongoDB 数据库,利用 Node.js 操作 MongoDB 数据库。
4、Express 的项目是 .jade 页面,如何改为 .html 页面。

1.利用 Nodejs 快速搭建项目

  • 首先安装 Express :npm install express-generator -g
  • 用Express快速生成项目
    express apiSever
    
    cd apiSever
    
    npm install
    
  • 运行项目,检测是否搭建成功:node ./bin/www
  • 在浏览器中访问:http://localhost:3000,若出现下面的图说明搭建成功
    在这里插入图片描述

2.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。
  • package.json:项目依赖配置,做过java后台的,可以跟maven对比下,差不多。
  • app.js:应用核心配置文件,项目入口,程序入口。

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/myapp'
    exports.connectDB = function (conn) {
        return mongolass.connect(conn).then(function () {
            //================USER RELATED==================
            db.test = mongolass.model('test', {
                name:{type:'string'},
    
            });
            db.test.insertOne({name:'test'}).exec()
    
            connected.forEach(function (oneFn) {
                if (oneFn) {
                    oneFn();
                }
            });
        });
    };
    
  • 在www文件里添加代码
    require('./mongo_base').connectDB('mongodb://localhost:27017/myapp');
    
  • 终端启动mongodb后查看是否建立数据库成功:show dbs
    在这里插入图片描述
    项目搭建和数据库添加完毕

4.Express的项目是.jade页面,如何修改为.html的页面

  • 项目根目录,输入:npm install ejs -s

    注意:ejs,node ejs是一个express模版解析引擎,用于解析html模版生成对应的html的解析器。

  • 根目录下的app.js,加入代码
    	var ejs = require('ejs');  //引入的ejs插件
    	app.engine('.html', ejs.__express);//设置html引擎
    	app.set('view engine', 'html');//设置视图引擎
    
  • routes–>index.js
    /**
     * 测试路由
     */
    router.get('/index', function (req, res, next) {
      res.render('index',{ title: '测试页面' });
    });
    
  • 重启服务器,输入:http://localhost:3000/index即可访问Index.html文件
发布了93 篇原创文章 · 获赞 60 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43363871/article/details/95594636