关于
《Nodejs开发加密货币》,是一个加密货币产品的详细开发文档,涉及到使用Nodejs开发产品的方方面面,从前端到后台、从服务器到客户端、从PC到移动、加密解密等各个环节。代码完全开源、文章免费分享。 相关资源见 http://ebookchain.org
QQ交流群: 185046161
前言
从本文开始,我们正式进入Nodejs的世界。
本文,将指引您搭建Nodejs开发环境,向您介绍Nodejs的安装、使用,帮您快速进入Nodejs的世界。
通过本文,让您对前端开发有一个完整、全新的认知,可以学习到如何将一些第三方平台的资源为己所用,比如像巴比特一样即时显示交易市场的交易行情。
本文的实例,就是上篇文章提到的加密货币开发语言统计分析项目(Statistical Analysis of Cryptocurrency Development Languages,简称Sacdl
),点击这里,在线体验。
项目需求
Sacdl
项目需要具备以下几个功能:
- 方便地读取第三方网站(这里是github)的Api,实现项目搜索功能;
- 对读取的数据集中处理,方便地转化为我们需要的信息;
- 通过柱状图、矩阵图、表格等图表格式,将数据可视化;
- 方便扩展,为以后添加更多图表样式或其他网站Api(比如交易市场的)做好准备。
技术选型
无处不选择。大方向要选择,具体到每个开发包都要去甄别,安全吗?好用吗?性能高吗?是否有更好的方案?等等。
仅从上述需求来说,一个html文件,再加一个js文件就基本搞定,第三方包都用不着,Nodejs
更是大才小用。
但事实上,很多仅仅是前端的项目,比如:Bootstrap等,都基于Nodejs
,为什么?答案很简单,它供了诸多方便实用的工具。
比如说:
- 组织方便:js没有模块化组织代码的能力。一个项目,js代码通常会分割在不同的文件中,以往的方式,处理起来非常头疼,现在利用
Nodejs
的模块管理,可以让您彻底解脱; - 资源广泛:
Nodejs
的出现,让js第三方包像雨后春笋一样遍地开花。需要什么,一条命令,Nodejs
就帮您办了,这会带来极大便利; - 全栈处理:开发完,还有很多事情要做,比如:要对前端代码js或css文件进行合并、压缩、混淆,以及项目部署等。体验过ruby on rails一键部署功能的小伙伴,都会印象深刻。
Nodejs
也很容易做到,而且更加自然、流畅。
总之,有了Nodejs
,我们可以像开发后台程序一样组织前端代码和项目了;有了Nodejs
,就有了它背后强大的技术社区支持。
Nodejs简介
有小盆友说,第一次看到Nodejs
,还以为就是一个js文件呢。呵呵,其实,很多前端的应用,比如大家吵得最欢的前端开发框架三剑客
,Angular.js, Backone.js, .Ember.js等,其实就是一个js文件。那么,
Nodejs
是什么呢?
官方解释是这样的:
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
翻译如下:
Node.js® 是一个搭建在Chrome V8上的JavaScript即时运行平台,采用事件驱动、非阻塞I/O模型,既轻量又高效。
用句大白话解释就是,Nodejs是一个可以让您利用JavaScript语言开发应用的平台, 是构建运行在分布式设备上的数据密集型实时程序的完美选择。
请注意哦,这里可没说是Web应用
,很多人认为Nodejs仅能开发以服务器为中心的web应用,其实不然,PC端、移动端都可以。当然,我们看到的大部分是Web应用,它是php+apache, jsp+tomcat, ruby on rails + Passenger(或thin) + nginx 等传统web开发的绝佳替代品。
如果你还没有直观感受,那么,我告诉你一个信息,Nodejs
的作者原本是想开发一种取代apache、nginx、tomcat等产品的传统服务器软件的,结果发展成了今天Nodejs
的模样,你用Nodejs
写的每一个应用,即可以认为是一个服务器软件,也可以认为是一个web应用,而且它是如此简单、高效。
什么是数据密集型、实时应用?
聊天室、即时通信等都是。当然,所有的交易市场(比特币、股票、基金等),电子商务网站的即时交易等也是。甚至物联网,比如电器设备的监控和远程控制。本人刚完成的一个项目,是一家大型连锁超市的电器设备综合监控系统,就是使用Nodejs开发的。
开发步骤
下面的过程会有点罗嗦,耐心点,很简单。
1.搭建环境
对于初学者,建议先去[Nodejs官方网站][]浏览一遍。这里有币友推荐的一个中文网站,runoob.com,对于英文不太好的用户,有一定帮助。
我个人的开发环境是这样的:
操作系统是
Ubuntu
系统:您可以在现有系统上,使用虚拟机软件安装它。我们的全部示例和截图都是在ubuntu上完成;IDE工具:
Sublime Text
;
(1)Nodejs的安装
强烈建议参考官网信息([Nodejs官方网站][],见参考资料)
我在Ubuntu上通过nvm
安装管理Nodejs
,具体方法,这里有一篇详细文档,快速搭建 Node.js 开发环境以及加速 npm,请务必阅读一遍。这里摘录其中关键命令(下面的命令都要在Ubuntu的命令行程序下运行):
安装Nvm
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
用Nvm安装Nodejs
$ nvm install 5.1.0
$ nvm alias default 5.1.0
说明:5.1.0 是Nodejs版本信息,写作本文时,最新稳定版是5.4.0,长期支持版是4.2.4
安装使用CNpm
使用淘宝npm镜像,可以提高我们的组件下载数度
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
查看版本信息
$ nvm -v
$ node -v
$ npm -v
我的版本信息如下:
nvm 0.29.0
node v5.1.0
npm v3