`

express搭建项目及连接数据库

阅读更多

(一)安装node.js之前先【安装nvm】:
安装nvm有一个简单的方法:
$ wget -qO- https://raw.github.com/creationix/nvm/v0.25.0/install.sh | sh
这样安装实际上是把nvm克隆到 ~/.nvm 中的。在~/ .bashrc和 ~/ .zshrc中添加的scource在安装过程中已经都设置好了。
如果你的nvm版本是较低版本的话, 你也可以在 ~/ .nvm/中checkout新的版本安装,就会自动更新。

(二)接下来【安装node】:
安装好nvm后就可以直接使用nvm安装node,首先用nvm查看现有的所有node版本:
$ nvm ls-remote  
【nvm 安装node的同时会安装npm】
然后选择你想要的版本安装:$ nvm install <version>
如果安装了多个版本之后,你可以用:nvm use <version>来选择你想要的版本。
nvm current 来查看当前的node版本,node ls 也可以查看本地node
通过命令来设置默认的版本:$ nvm alias default<version>
安装好之后,可以通过node -v来查看你所安装的版本

(三)【安装express】:
 $ nvm install -g express-generator

这时express就是最新版。可以通过:$ express version 来查看你的版本是不是4x的。
其他express命令可以去看express教程

 

(四)【通过express来创建工程:】

在命令行输入如下命令:

$ express -e blog  
$ cd blog && npm install

 这时你的工程名为blog的项目就已经建造成功了,然后通过下面这条命令来运行:

$ DEBUG=blog:* npm start 

 之后在浏览器访问;localhost:3000,会看到express默认的界面。

下面来看一下项目的【工程结构】:
app.js:启动文件,或者说入口文件
package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行npm install,npm 会检查当前目录下的 package.json,并自动安装所有指定的模块
node_modules:存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下
public:存放 image、css、js 等文件
routes:存放路由文件
views:存放视图文件或者说模版文件
bin:存放可执行文件

 

(五)【连接数据库:】两种方法,笔者亲测建议用第一种

创建项目数据库和超级管理员:
【操作数据库】数据库集合collection,文档设置insert
终端命令行里:
mongo//进入数据库
use nodedb//创建项目数据库
db.addUser("shuaige", "123456")//给这个数据库创建了一个叫帅哥的账号,密码123456 (但是我觉得可能我理解的不到位,你也可以不做这个操作)

若以授权方式启动数据库,那么我们可以进行管理员验证,之后可以继续操作
然后,我们就为这个nodedb数据库创建collection(collection就相当于oracle和mysql里的table)
数据库代码

db.createCollection("users")//创建一个集合,也就是表 
db.users.insert({user: "admin", password: "123456"})//给users里添加一个文档,也就是一条记录账号admin,密码123456  

 ok,现在检查一下:
db.users.find() //如果看到你刚刚添加的文档记录,就ok咯

 

现在我的nodedb数据库里已经有了用户admin,之后操作就在nodedb数据库里进行

 

 

【方法二:】

打开package.json文件,在dependencies 最后一行添加:"mongodb": "1.4.15"
然后在工程目录下运行:npm install 更新依赖模块。
mongodb模块安装好后,在工程目录下新建settings.js 文件,并在里面添加:

 module.exports = {   
      cookieSecret: 'myblog',   
      db: 'blog',   
      host: 'localhost',  
      port: 27017  
    };

 然后在新建一个models文件夹,并在文件夹里新建db.js文件,文件里添加:

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, settings.port),  
    {fe: true});

 然后打开app.js,在var routes = require('./routes/index');下添加:
var settings = require('./settings');引入文件

 

(六)【会话支持:】
把会话信息存储到数据库中,便于持久维护,我们需要express-session和connect-mongo这两个中间件的帮助。在package.json文件里添加:
    "express-session": "1.9.1", 
    "connect-mongo": "0.4.1" 
更新模块npm install后,打开app.js文件,添加:

var session = require('express-session'); 
    var MongoStore = require('connect-mongo')(session); 
     
    app.use(session({ 
      secret: settings.cookieSecret, 
      key: settings.db,//cookie name 
      cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//cookie过期时间30 days 
      store: new MongoStore({ 
        db: settings.db, 
        host: settings.host, 
        port: settings.port 
      }) 
    }));  

 
 注意:这里提醒一下,这两段代码的位置问题。上面两个变量放在文件中变量的位置。下面一段应放置在:

 

app.use(express.static(path.join(__dirname, 'public'))); 
这段代码的上面。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    学习nodejs所创建的第一个express项目,使用mysql数据库,简单的用户与管理员登录注册demo.zip

    在本项目中,我们探索了如何使用...通过这个项目,你可以学习到如何用Node.js和Express搭建web应用,以及如何与数据库交互实现用户登录注册功能。这是一个很好的起点,为进一步学习和实践Node.js和Web开发打下基础。

    服务器 数据库 框架搭建案例

    通过以上知识点的学习和实践,我们可以成功搭建一个服务器数据库框架,并为其他项目提供稳定的底层支持。在实际操作中,应结合具体的项目需求和技术栈,灵活运用这些知识。在"serverText"文件中,可能包含了关于这个...

    【JavaScript源代码】node.js利用express自动搭建项目的全过程.docx

    【JavaScript源代码】Node.js利用Express自动搭建项目的全过程 在Node.js开发中,Express是一个非常流行的Web应用框架,它简化了构建服务器端应用程序的过程。本教程将指导你如何使用Express来快速搭建一个项目。 ...

    NodeJS入门项目案例(Express+Mysql)服务端开发.zip

    本项目案例是针对初学者设计的,旨在引导大家入门NodeJS的服务端开发,结合了流行的Express框架和MySQL数据库。 **Express框架** Express是NodeJS中最受欢迎的Web应用框架,它简化了HTTP服务器的创建,提供了丰富的...

    Express车展项目

    【Express车展项目】是一个基于Node.js、MongoDB和Express.js技术栈的应用实例,旨在搭建一个线上车展展示平台。在这个项目中,Node.js作为后端服务器运行环境,它使用JavaScript语言,打破了传统前后端分离的界限,...

    NodeJS+express如何新建一个自己需要的项目

    你可以根据实际需求进一步扩展,例如添加数据库连接、实现用户认证、部署到云服务器等。在`expressdemo`项目中,你可以找到类似的结构和代码示例,帮助你更好地理解和实践这些概念。通过不断学习和实践,你将能构建...

    基于vue全家桶+node.js+express+mysql实现的商城网站

    使用vue-cli脚手架搭建项目 使用vue-router实现路由切换 使用vuex进行状态管理 使用axios进行数据请求 stylus和scss编写样式 联动滚动借助了vue-infinite-scroll插件和图片懒加载vue-lazyload插件 Express编写...

    笔记VC的ADO连接数据库

    #### 三、连接数据库示例代码解析 以下代码展示了如何使用VC++与ADO连接到SQL Server,并执行简单的查询操作。 ```cpp try { // 创建连接对象 _ConnectionPtr pConn; if (FAILED(pConn.CreateInstance(__uuidof...

    Node+Express+Mongoose车展项目入门到实战课件、笔记、资料、代码及数据库.zip

    在本项目中,Node.js作为后端开发平台,用于搭建服务器、处理HTTP请求以及与数据库交互。 **Express.js**: Express是Node.js上的一款Web应用框架,它提供了丰富的路由和中间件功能,简化了Web应用的开发流程。在...

    node+express框架中连接使用mysql(经验总结)

    最近在学习node.js,做了一个练手项目,使用node.js+express框架,配合mysql数据库和前端vue框架开发一个多人文档编辑系统。 node.js环境下express+mysql的服务端项目示例 首先是环境搭建: node环境下 $ npm ...

    nodejs + express +mysql 电影项目第一期

    在本项目中,我们主要探讨的是使用Node.js、Express框架以及MySQL数据库构建一个电影相关的Web应用的第一阶段。这个项目旨在教你如何将这三个技术结合起来,创建一个功能完善的后端系统,以便用户可以浏览、搜索和...

    从零学习node.js之利用express搭建简易论坛(七).docx

    ### 从零学习Node.js之利用Express搭建简易论坛 #### 一、项目概述 本教程旨在帮助初学者从零开始,使用Node.js结合Express框架搭建一个简易的在线论坛。通过本教程的学习,读者将掌握如何使用Express框架进行Web...

    自己写的后台接口,用express搭建的

    在这个场景中,"自己写的后台接口,用express搭建的",意味着你已经创建了一个使用Express作为基础架构的后端服务,提供了自定义的API接口来与前端或其他客户端进行数据交互。 首先,让我们深入了解Express。...

    本科毕业设计,使用Node和Express搭建的多人博客系统.zip

    【标题】:“本科毕业设计,使用Node和Express搭建的多人博客系统” 这个标题揭示了这是一个基于Node.js和Express框架的多人博客系统项目,是作者在本科阶段完成的毕业设计。Node.js是一个开源、跨平台的JavaScript...

    Express MongoDB 搭建多人博客 · nswbmw_N-blog Wiki

    ### Express MongoDB 搭建多人博客 #### 一、引言与环境准备 在本章节中,我们将通过一系列步骤来了解如何使用Express 和 MongoDB 构建一个支持多人使用的博客系统。Express 是 Node.js 上最流行的 Web 开发框架之...

    SQLSever2005_Express.rar

    总的来说,这个压缩包提供了SQL Server 2005 Express的基础组件和管理工具,使得用户可以在本地搭建一个功能齐全的数据库环境,进行数据库管理和开发工作。无论是对数据库感兴趣的初学者,还是有一定经验的开发者,...

    node+express+mongoose demo

    描述中的 "express+Mongoose+mongodb实战(带注释)" 暗示了这是一个具有详细注释的教程项目,适合初学者或希望快速了解如何通过 Express 框架创建 API 并使用 Mongoose 连接和操作 MongoDB 数据库的开发者。...

    nodejs + express + mysql +log4js+redis

    在本项目中,开发者利用了Node.js的Express框架构建了一个Web应用程序,并结合了MySQL数据库、Redis缓存系统以及log4js日志管理工具,实现了基于cookie的用户登录验证功能,同时还涉及到了对MySQL存储过程的调用。...

    个人网站小项目传了自己用的,下载下载可能没带数据库

    2. **开发环境**:开发者通常会在本地环境中搭建项目,使用像XAMPP或WAMP这样的集成开发环境,它们提供了运行网站所需的服务器、数据库(如MySQL)和PHP等组件。 3. **源代码管理**:项目中的源代码可能存储在版本...

Global site tag (gtag.js) - Google Analytics