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'))); 
这段代码的上面。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)