Node.js + MongoDB 项目实战(二)  创建项目

在项目实战(一)中,已经配置好了开发环境(详见:http://www.cnblogs.com/jameslong/articles/3451152.html),这一节,来创建一个具体的项目,并对项目结构进行解析;

可以参考:http://expressjs.jser.us/guide.html

1. 在本地安装express项目

打开CMD命令行工具,输入npm install -g  express 将express安装到本地,-g为全局安装的意思,这样可以在本地计算机的任何位置使用express框架生成器生成项目;

2. 创建项目文件结构

项目文件可以自己创建,也可以使用express框架,现在直接使用express框架,则在cmd中输入:“express  myapp”即可在制定的文件夹下创建名为myapp的项目;在完成项目安装后会提示安装依赖,根据提示进行操作即可;

3. 打开项目下的package.json的文件:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
     "start": "node app.js"
  },
  "dependencies": {
    "express": "3.4.8"
}
}

json是一种文本格式,内容以“键”:“值”对的方式存在,可以嵌套,此种类型为集合;name是包名,scripts下的star是对项目启动的描述,在命令行中跳转到项目文件夹下,输入node app.js即可启动该应用,version是包的版本,dependencies:是依赖,node.js中要只要要项目调用,则必须指明其依赖关系,express:3.4.8 是node.js的mvc框架express的版本(为本博文创建时的最新版)。

4. 项目测试

在命令行CMD中跳转到项目文件夹下,输入mode app.js 会输出  Express  server listening on port 3000

在浏览器url中输入127.0.0.1:3000 按下回车键即可;

5.  项目补充

上面创建的是最简单,也是最基本的项目框架,在项目中还要有模板引擎 ejs jade 等,还有session , stylus 等等,这些都是可以在项目需要的时候添加进去;比如要添加ejs模板引擎,方法很简单,打开项目中的package.json文件,然后在dependencies 中加上:“ejs”:"*",保存文件,并在CMD中输入“npm install”即可完成安装;然后在app.js 文件中修改模板引擎即可,express默认是jade模板引擎。其他的包类似,代码编辑器webstorm 中有node.js 的包管理器,可以直接选择需要添加的包,mogoose让mongoDB操作更简单,所以mongoose是一个包,用来操作mongoDB数据库的,后面用到该数据库,再讲解这个包的安装以及使用。

6. 完善项目

bootstrap,jquery等UI ,JS框架,只要按照从官网上下载相应的版本,解压,将文件放在public文件夹下对应的文件夹中,按照常规的方式进行引用即可。

到此node.js的项目就搭建起来了,对于新手来说,可能觉得云里雾里,或者是本人比较笨拙吧,在接触node.js 之初,只会按照《node.js 开发指南》一束照抄,但是后来才发现其实也没那么难;

对于新手,不管是接触任何技术,都会面临的一个困难,就是不知道一个项目的结构,各部分的职责,各部分的关联,以及工作机制。其实,在软件工程中,很多的东西都是互通的。

Node.js +Express+MongoDB+mogoose+ejs+bootstrap+jquery的更多相关文章

  1. Node.js Express+Mongodb 项目实战

    Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...

  2. Node.js+Express+MongoDB数据库实现网页注册登入功能

    通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.h ...

  3. node.js+express+mongodb

    主要是想用node.js链接mongodb,用的是mongoose.用ejs引擎,扩展到.html比较容易 小例子结构简单,框架清晰. 提交方法 路径 方法 作用 get add     post a ...

  4. 【nodejs笔记1】配置webstorm + node.js +express + mongodb开发博客的环境

    1. 安装webstorm 并破解 2. 安装node (以及express框架) 至官网下载并安装.(http://nodejs.org)v0.10.32   msi  安装后测试,打开命令行, c ...

  5. Node.js + Express + Mongodb 开发搭建个人网站(一)

    一.Node + Express环境搭建 0.去Node官网下载安装node,如果安装了 npm 和 node的话 那么就 安装 全局的 express,-g全局安装 npm install expr ...

  6. ubuntu安装node.js+express+mongodb

    输入以下命令安装: sudo apt-get install nodejs 安装完成后,终端输入nodejs,就能进入node命令啦: 但是正常下应该是输入node进入命令而不是nodejs: 在Ub ...

  7. ubuntu 安装node.js + express + mongodb

    转载自http://my.oschina.net/reg/blog/289536 Ctrl + Alt + T,打开终端,输入以下命令安装: sudo apt-get install nodejs 安 ...

  8. Node.js + Express + Mongodb 开发搭建个人网站(二)

    二.路由 1.打开 routes/index.js ,这个意思就是  捕获到访问主页的get请求: 并通过 app.js 分配到对应的路由里: 看到这里,打开 http://127.0.0.1:300 ...

  9. Node.js + Express + Mongodb 开发搭建个人网站(三)

    三.后台架构 1.在根目录下(和 views 文件夹同级)创建 lib 文件夹 以后所有后端内容 都是在这里写,分别创建三个文件夹 到 lib 目录下: mongo  放的是数据的存储 module  ...

随机推荐

  1. python 基础学习(元组,if,for)

    1.tuple对象 tuple 元组 有序的列表 tuple一旦创建不能修改 a.定义元组t=('a','b','c')空元素的tuple t=()()既表示tuple 也表示运算符的优先级 所以定义 ...

  2. js 面试题

    1.用原生js,创建一个无序列表添加到body中,ul下包含5个li,每个li包含一个text类型元素,text元素内容可自定义: <script type="text/javascr ...

  3. BZOJ2721 [Violet 5]樱花

    先令n! = a: 1 / x + 1 / y = 1 / a  =>  x = y * a / (y - a) 再令 k = y - a: 于是x = a + a ^ 2 / k  => ...

  4. BZOJ3696 化合物

    我们可以树形dp... 令f[p][d]表示以p为根的子树,与p距离为d的结点数 然后我们计算答案: 一种是从某个节点q到根p的方案,对和为d的贡献是1 另一种是p的一个子树中的节点x到另一个子树中的 ...

  5. 智能手机Web开发笔记

    智能手机版(简称M版)前端开发终于告一段落,第一次做移动端开发,没有想象中那么难搞,但是期间也遇到了各种这样那样的问题,虽然从小日记都不是自己写的,但是开发笔记还是要自己写的,不敢说让别人学习,只是仅 ...

  6. javaWeb开发总结 ---- 前端数据插入到后台

    一,概述: 本文主要描述如何将数据通过表单提交到后台并插入到数据库.其中后台使用spring框架. 二,开发流程: 明确需求,即将什么数据插入到数据库 平台搭建,配置spring, 数据库,建表 走通 ...

  7. C# 小规模查找集合性能测试

    项目中包含浮点运算,大概每秒 20 - 100 万左右. 其计算结果每秒只包含1000个左右. 因此大量运算是重复性的.程序运行时,cpu 在 3% - 10% 浮动.打算将结果缓存.根据键值索值. ...

  8. C++-高效的swap

    原始版本: template<typename T> void swap(T& a, T& b) { T tmp(a); a = b; b = tmp; } 此版本不重视效 ...

  9. 兼容 IE,firfox 的时间日期出现 NaN

      //当前日期加上天数后的新日期.function AddDays(days) { var d = new Date(); var year = d.getFullYear(); var day = ...

  10. UINavigationController 子控制器管理原理

    UINavigationController 显示在导航控制器上的控制器 永远是栈顶控制器 后进先出  先进后出原则 /** * 程序获得焦点才能获取触摸事件 * */- (void)applicat ...