使用Node.js、Express、MongoDB和AngularJS构建问卷调查应用程序

在前端,该应用程序会使用 AngularJS 和 Bootstrap 支持用户界面,并使用 Web Sockets 来支持投票,以便实时更新客户端。

最近,在向大学生们介绍 HTML5 的时候,我想要对他们进行问卷调查,并向他们显示实时更新的投票结果。鉴于此目的,我决定快速构建一个用于此目的的问卷调查应用程序。我想要一个简单的架构,不需要太多不同的语言和框架。因此,我决定对所有一切都使用 JavaScript — 对服务器端使用 Node.js 和 Express,对数据库使用 MongoDB,对前端用户界面使用 AngularJS。

这个 MEAN 堆栈(Mongo、Express、Angular 和 Node)只需要一天即可完成,远比 Web 应用程序开发和部署所用的 LAMP 堆栈(Linux、Apache、MySQL 和 PHP)简单得多。

我选择使用 JazzHub 来管理我的项目的源代码。它不仅为我的代码提供了一个完整的版本控制系统,还为在云中编辑代码提供了一个在线 IDE,以及用于项目管理的敏捷特性。JazzHub 很容易与 Eclipse 相集成,Eclipse 还提供了一些插件,支持对平台( 比如 BlueMix 或 Cloud Foundry)的一键式部署。

构建该应用程序的先决条件

基本了解 Node.js 和 Node.js 开发环境 具有以下这些 Node.js 模块:Express framework、Jade、Mongoose 和 socket.io AngularJS JavaScript 框架 MongoDB NoSQL 数据库 Eclipse IDE,已安装了 Nodeclipse 插件

第 1 步. 构建一个基础 Express 后台

在 Eclipse 中,切换到 Node 透视图,并创建一个新的 Node Express 项目。如果您创建了一个 JazzHub 项目,请像我所做的那样,使用相同的名称为您的 Node Express 项目命名。选择使用 Jade 作为模板引擎。Eclipse 会自动下载所需的 npm 模块,以便创建一个简单 Express 应用程序。

运行这个 Express 应用程序

在 Project Explorer 中,找到位于您项目的根目录中的 app.js,右键单击并选择 Run As > Node Application。这将启动一个 Web 服务器并将应用程序部署到该服务器。接下来,打开浏览器并导航到 http://localhost:3000。

图 1. Starter Express 应用程序

配置基础前端

这个问卷调查应用程序对常见用户界面和布局使用了 Bootstrap 框架。现在,让我们对 Express 应用程序做一些改动来反映这一点。首先,打开 routes/index.js,将标题属性更改为 Polls:

清单 1. routes/index.js

exports.index =
function(req, res){ res.render('index', { title: 'Polls' }); };

接着,更改 views/index.jade 模板以包含 Bootstrap。Jade 是一种速记模板语言,可编译成 HTML。它使用缩进消除了对结束标签的需求,极大地缩小了模板的大小。您只需要使用 Jade 作为主页面布局即可。在下一步中,还可以使用 Angular 局部模板向这个页面添加功能。

清单 2. views/index.jade

doctype 5 html(lang='en') head meta(charset='utf-8') meta(name='viewport', content='w
idth=device-width, initial-scale=1, user-scalable=no') title= title link(rel='stylesheet', href='//netdna.bootstrapcdn.com/bootstrap/3.0.1/ css/bootstrap.min.css') link(rel='stylesheet', href='/stylesheets/style.css') body nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation') div.navbar-header a.navbar-brand(href='#/polls')= title div.container div

想要查看对您的应用程序所做的更改,请结束 Eclipse 中的 Web 服务器进程,再次运行 app.js 文件:

图 2. 问卷调查应用程序样板文件

注意:在使用 Jade 模板时,注意适当缩进您的代码,否则您会遇到麻烦。另外,还要避免使用混合缩进样式,如果您尝试这样做,Jade 将会报错。

时间: 2025-01-21 06:15:48

使用Node.js、Express、MongoDB和AngularJS构建问卷调查应用程序的相关文章

Node.js和MongoDB实现简单日志分析系统

  Node.js和MongoDB实现简单日志分析系统  这篇文章主要介绍了Node.js和MongoDB实现简单日志分析系统,本文给出了服务器端.客户端.图表生成.Shell自动执行等功能的实现代码,需要的朋友可以参考下     在最近的项目中,为了便于分析把项目的日志都存成了JSON格式.之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中.log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势.系统的性能漏洞等.之前有一个用Java写的

node.js连接mongoDB数据库 快速搭建自己的web服务_node.js

一.写在前面   人人都想成为全栈码农,作为一个web前端开发人员,通往全栈的简洁之路,貌似就是node.js了.前段时间学习了node.js,来谈谈新手如何快速的搭建自己的web服务,开启全栈之路. 二.安装node.js   接触过后端开发的人都知道,首先要安装服务.作为新手,肯定是选择最简单的可视化安装了(傻瓜式下一步,其它的方式等熟悉相关操作后自然就会了的),通过官网http://nodejs.org/dist/v0.6.1/node-v0.6.1.msi 下载电脑适配的安装包(这个是w

CentOS上安装Node.js和mongodb笔记

  CentOS上安装Node.js和mongodb笔记        这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装.Node.js安装.npm安装.mongodb驱动安装.mongodb数据库操作测试代码等内容,需要的朋友可以参考下 之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解.今天在QCon上听了袁锋的分享<Node.js脱离了浏览器的Javascript>之后,顿时有了想立刻试一下的冲动. No

node.js操作mongodb学习小结

  node.js操作mongodb学习小结          这篇文章主要介绍了node.js操作mongodb学习小结,本文给出了mongodb创建数据库.插入数据以及连接mongodb数据库并查询数据等代码实例,需要的朋友可以参考下 一.准备工作 1.在mongodb创建将要读取的表 创建数据库mongotest 代码如下: use mongotest; 向user表中插入数据 代码如下: db.user.insert({ name:'flyoung', age:'18', sex:tru

win7下安装配置node.js+express开发环境_node.js

1.安装 node.js. 进入官网的下载地址:http://www.nodejs.org/download/ . 选择Windows Installer或者选择Windows Installer (.msi) 32-bit,下载安装包. 下载完成后,双击安装. 2.安装 Express. 通过nmp包管理器进行安装,安装分为: 全局安装:自动安装到"C:\Users\[当前用户]\AppData\Roaming\npm"下,并且自动将路径添加到环境变量"Path"

node.js操作mongoDB数据库示例分享_node.js

连接数据库 复制代码 代码如下:  var mongo=require("mongodb");  var host="localhost";  var port=mongo.Connection.DEFAULT_PORT;  var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器  var db=new mongo.Db("node-mongo-exampl

node.js操作mongodb学习小结_node.js

一.准备工作 1.在mongodb创建将要读取的表 创建数据库mongotest 复制代码 代码如下: use mongotest; 向user表中插入数据 复制代码 代码如下: db.user.insert({ name:'flyoung', age:'18', sex:true }); 2.安装node-mongodb-native 复制代码 代码如下: npm install mongodb 二.实例(node.js读取mongodb) 参考node-mongodb-native的文档:h

从零开始搭建Node.js, Express, Ejs, Mongodb服务器

第1部分 – 15分钟安装 如果你真的是从零开始学,那就花点时间先把环境搭建起来吧.这不难,我用的是Win8,所以这看上去跟那些用Mac和Ubuntu或者其它*nix系统的教程有点区别,不过大致是一样的. 第1步 – 安装Node.JS 这很容易,进入Node.js官方网站,点击绿色的大Install按钮,它会自动检测你的系统并给你一个正确的安装文件的下载.(如果没有,点击Download按钮选择你需要的下载).运行安装程序,这样就好了.你已经装上了Node.js,和NPM(Node包管理器)可

安装使用Mongoose配合Node.js操作MongoDB的基础教程_node.js

安装mongoose 使用express准备一个TestMongoDB项目,命令序列如下: express TestMongoDB cd TestMongoDB npm install 执行完上面的命令后,使用下面的命令安装mongoose: npm install mongoose --save 这个命令会安装mongoose并将其作为项目的依赖,而mongoose依赖的MongoDB driver以及regexp等等模块也会被自动安装. 实例 使用mongoose可以新建数据库.新建集合.对