热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TWaverhtml5+NodeJS+express+websocket.io+redis快速搭建项目(二)

TWaverHTML5即将发布,这里迫不及待的给大家介绍一下如何使用TWaverHTML5开发一套完整的拓扑系统。既然是完整的系统,那当然要涉及后台、数据库、数据交互等:前台:TW

TWaver HTML5即将发布,这里迫不及待的给大家介绍一下如何使用TWaver HTML5开发一套完整的拓扑系统。既然是完整的系统,那当然要涉及后台、数据库、数据交互等:

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



前台:TWaver HTML5是继TWaver Java、TWaver Web、TWaver Flex以及TWaver .NET后的又一全新分支;使用了HTML5技术,实现了拓扑、各种通用组件(包含List、Tree、Table、TreeTable、PropertySheet、SplitPane、BorderPane、TabPane、TitlePane、Accordion等)以及Chart(LineChart、PieChart、BarChart、BubbleChart、DialChart、RadarChart等)功能;支持各种主流浏览器(Chrome、IE9、FireFox、Safari、Opera等);支持各种桌面和移动终端。

后台:HTML5是最新的WEB UI技术,所以后台咱也不落后,用炙手可热的Node.js(稍后您会体验到前后台都用Javascript的快感;如果您还在使用JVM平台,劝您早日放弃,未来不知道甲骨文要把Java怎样: Ubuntu 将从用户电脑移除 JDK;如果您还来不及学Phyon、Ruby之类,那您也别遗憾了:The Switch: Python to Node.js)。

数据库:如今如日中天的NoSQL大行其道(NoSQL名字都被Oracal给抢占了),咱也沾沾Redis这个内存key-value数据库的光。

前后台通讯:曾经风光一时的Ajax和Comet,也要给WebSocket让道了。借助于Node.js的Socket.IO模块,我们将实现拓扑更新广播以及告警广播功能。

第一篇文章先给大家介绍下如何搭建Node.js环境。

一. Windows下安装Node.js、Redis
1. 安装Node.js
从v0.6.1以后,Windows下的安装很简单,从Node.js官方网站http://www.nodejs.org/#download下载最新版的安装文件即可(写本文时最新的Node.js Windows安装包下载地址为http://nodejs.org/dist/v0.6.6/node-v0.6.6.msi)。
尽量选择最新版本安装,里面会自带npm(node package manager用于管理node的module),比如本文用到的express(web development framework for Node.js)、Socket.IO、node_redis(redis client for Node.js)。
安装完后在命令行运行node -v以及npm -version以验证是否安装成功。
最后要说的是网上好多安装方法都太老了,其实Node.js已经自带了npm,不需要折腾msysgit,下载npm源码;而且即使下载npm也可以到http://npmjs.org/dist/下载编译后的文件,解压到Node.js安装目录即可。

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)

2. 安装Node.js模块
以管理员身份进入命令行模式,确保您在Node.js的安装目录(比如c:\Program Files\nodejs,否则您需要将您所安装模块的路径添加到环境变量NODE_PATH中,Node.js会自动查找所设置的目录的node_modules子目录里的模块,而且您会发现c:\Program Files\nodejs下已经有node_modules目录了,而且里面有npm模块),运行以下命令安装本文用到的module:
cd “c:\Program Files\nodejs”
npm install express
npm install socket.io
npm install redis
安装完后运行以下命令以查看module结构:
npm list

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



3. 安装Redis
Redis官方网站只能下载到源代码,不想折腾的同学可以从http://code.google.com/p/servicestack/wiki/RedisWindowsDownload下载编译后的版本,32位版下载地址为http://servicestack.googlecode.com/files/redis-2.0.0.zip。
下载后,解压,并将解压目录设置到环境变量PATH中,运行redis-server --version检查安装是否成功。
最后建议各位同学不要在windows下部署Redis:Redis作者拒绝微软的Windows补丁

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



二. Mac下安装Node.js、Redis(建议用强大的Homebrew,使用Homebrew前,先执行brew update,获取最新的软件版本号)
1. 安装Node.js:brew install node
安装后运行node --version,检查安装是否成功

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



2. 安装npm:curl http://npmjs.org/install.sh | sudo sh
安装后运行npm --version,检查安装是否成功

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



3. 安装Node.js模块
先创建用于存放Node.js模块的目录(比如/Users/paul/Documents/workspace/Tool/node_modules),然后将此目录加入环境变量NODE_PAH中:
vi ~/.bash_profile
然后加入:export NODE_PATH=”/Users/paul/Documents/workspace/Tool/node_modules”
保存后,运行. ~/.bash_profile以让更改生效,运行echo $NODE_PATH,以检查配置是否生效。
最后进入刚创建的目录,运行以下命令安装Node.js模块:
cd /Users/paul/Documents/workspace/Tool/node_modules
npm install express
npm install socket.io
npm install redis
安装完后运行以下命令以查看module结构:

npm list

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)



4. 安装Redis:brew install redis
安装后运行redis-server --version,检查安装是否成功

TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)


至此本文需要的软件已经安装完成,后续文章将开始详细介绍TWaver HTML5和Node.js的应用


推荐阅读
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在第10天的夜灵HTML日志中,我们深入探讨了浏览器兼容性和高级选择器的应用。CSS3引入了许多新属性,但在旧版浏览器中的支持情况并不理想。然而,目前主流浏览器的最新版本已全面支持这些新特性。对于那些不支持CSS3新属性的浏览器,我们提供了多种解决方案,以确保网站在不同环境下的兼容性和用户体验。此外,我们还详细讨论了如何利用高级选择器提升页面布局的灵活性和可维护性。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • CSS中的pointer-events属性详解与应用
    在CSS中,`pointer-events`属性是一个非常实用但常被忽视的功能。它主要用于控制元素是否响应鼠标事件。当一个元素覆盖在其他元素之上时,通过设置`pointer-events`属性,可以决定该元素是否能够接收鼠标点击、悬停等交互操作,从而实现更灵活的用户界面设计。例如,将`pointer-events`设置为`none`可以使元素透明地传递鼠标事件,方便实现复杂的叠加效果和交互逻辑。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • Jeecg开源社区正式启动第12届架构技术培训班,现已开放报名。本次培训采用师徒制模式,深入探讨Java架构技术。类似于大学导师指导研究生的方式,特别适合在职人员。导师将为学员布置课题,提供丰富的视频资料,并进行一对一指导,帮助学员高效学习和完成任务。我们的教学方法注重实践与理论结合,旨在培养学员的综合技术能力。 ... [详细]
  • 在处理分享功能时,以往通常会首先考虑使用第三方SDK,如友盟等。然而,通过实际项目经验发现,利用iOS原生的UIActivityViewController不仅可以实现高效、稳定的分享功能,还能更好地控制用户体验。本文将详细介绍如何利用iOS原生技术缓存HTML内容,并结合URL分享的最佳实践,帮助开发者在实际开发中提升应用性能和用户满意度。 ... [详细]
author-avatar
dsvd2010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有