nodejs初步体验篇

前言:写这篇文章的由来:

  1.前段时间单位有新项目启动,服务端要做的工作不多也不算麻烦,就是处理一些中间层的服务,而且我们团队里面个个都会JavaScript,领导就决定试试服务器端的JavaScript,结果本人有幸被派去研究了几天Node,怀着鸡冻的心情开始了node.js的篇章,这篇文章也就是为这几天研究的总结。

  2.一个JavaScript工程师如果没听过node.js那么我想你是不是错过了什么,每个优秀的前端工程师都有必要去了解后台处理流程,那么如果又能从JavaScript出发,岂不是一件很美妙的事么。

  3.互联网的火热使得JavaScript风光无限,且服务端的JavaScript也并不是什么新技术了,相关的框架也有不少,只是node.js的成功让他爆发式的出现在我们的视线中,让很多前端工程师看到了从前端写到后端的另一种实现希望。注:node.js 是一个允许开发人员使用 JavaScript 语言编写服务器端代码的框架。

  4.今年8月曾在某大公司最后一轮(第五轮)的面试被问到Node.js的问题,相对应的回答那是相当之糟糕,结果怎样你们懂的,感觉这个问题是导致没有通过的关键点之一...那家公司是我在读大学的时候就无比向往的公司,现在回想起那次经历和过程,谈不上惋惜,毕竟我真的尽力了 - 其实这篇文章更多的也是为了完成自己一个小小的心结...好吧,又扯远了。

  5.欢迎各种转载,不过请注明出处,谢谢。

Node是个啥?

  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性的拿了些下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段。

  1.Node 是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅。

  2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码。处理高并发和异步I/O是Node受到开发人员的关注的原因之一。

  3.Node 本身运行Google V8 JavaScript引擎,所以速度和性能非常好,看chrome就知道,而且Node对其封装的同时还改进了其处理二进制数据的能力。因此,Node不仅仅简单的使用了V8,还对其进行了优化,使其在各种环境下更加给力。(什么是V8 JavaScript 引擎?请“百度知道”)

  4.第三方的扩展和模块在Node的使用中起到重要的作用。下面也会介绍下载npm,npm就是模块的管理工具,用它安装各种 Node 的软件包(如express,redis等)并发布自己为Node写的软件包 。

安装Node

  在这简单说说在window7和linux两种环境下安装Node。安装的时候一定要注意Python的版本,多次因为Python版本的问题安装失败,建议2.6+的版本,低版本会出现Node安装错误,查询Python版本可在终端中输入:pyhton -v

1.先介绍linux下的安装吧,Node在Linux环境下的安装和使用都非常方便,建议在Linux下运行Node,^_^...我使用的是Ubuntu11.04

   a.安装依赖包:50-100kb/s大概每个包一分钟就能下载安装完成

sudo apt-get install g++ curl libssl-dev apache2-utils 
  sudo apt-get install git-core

   b.在终端一步步运行一下命令:

git clone git://github.com/joyent/node.git 
  cd node
  ./configure
  make 
  sudo make install

安装顺利的话到这一步Node就算安装成功了,2M的网络用了共计12分钟。

注:如果不用git下载也可以直接下载源码,不过这样下载安装需要注意Node版本问题。使用git下载安装是最方便的,所以推荐之。

2.在Windows下使用Cygwin安装Node,这个方式不太推荐,因为真的需要较长时间和较好的人品。我的系统是 win7旗舰版

  Cygwin是一个在windows平台上运行的unix模拟环境,下载地址:http://cygwin.com/setup.exe

下载好Cygwin后开始安装,步骤:

   a.选择下载的来源 - Install from Internet

   b.选择下载安装的根目录

   c.选择下载文件所存放的目录

   d.选择连接的方式

   e.选择下载的网站 - http://mirrors.163.com/cygwin

   f.麻烦就麻烦在这步,考验人品的时候到了。需要的下载安装时间不确定,反正需要比较长的时间(超过20分钟),偶尔会出现安装失败的情况。单击一下各个程序包前面的旋转箭头图标选择你想要的版本,选中时会出现了"x"号表示已经选中了该程序包。选择需要下载的程序包:

  Devel包:

    gcc-g++: C++ compiler
    gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
    gcc4-g++: G++ subpackage
    git: Fast Version Control System

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
JavaScript开发经典技巧分享给大家: 1、首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量。 2、使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型。但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快。 [10] === 10 // is false [10] == 10 // is true '10' == 10 // is true '10' === 10 // is false
本文实例讲述了select选择框内容左右移动添加删除。分享给大家供大家参考。具体如下: select选择框内容左右移动,简单实用,选中选项内容,点击移动按钮可进行内容左右移动,运行效果图: 具体代码如下 !DOCTYPE htmlhtmlhead meta charset="utf-8" / titleindex/title/headbody div select id="leftSelector" multiple="multiple" name="SmsListOnLeft" option value
一、数组的常用方法 1:join(); 将数组转为字符串显示。不输入参数,默认以逗号连接;输入参数,则以参数连接。 var arr=[1,2,3];console.log(arr.join()); // 1,2,3;console.log(arr.join("_")); // 1_2_3;console.log(arr); // [1,2,3]; 原数组不变。 2:reverse(); 将数组逆序排列,原数组被修改。 var arr=[1,2,3];var arr2=arr.reverse();conso
本文实例讲述了javascript实现动态统计图的代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下 html代码: div id="content" div class="legend" h1汽车销量:/h1 div class="skills" ul li class="jq"大众/li li class="css"丰田/li li class="html"别克/li li class="php"福特/li li class="sql"长安/li /ul /div /div di

js实现索引图片切换效果 - 2015-11-23 17:11:16

本文实例讲述了js实现索引图片切换效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下 html代码: div id="slideshowHolder" img src="img/1.jpg" / img src="img/2.jpg" / img src="img/3.jpg" / /div css代码: .ft-prev, .ft-next { background-color: #000; padding: 0 10px; color:#fff; } js代码: $(doc
首先先说一说$. browser browser就是用来获取浏览器基本信息的。 jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 解决方法 :加入以下js即可 (function(jQuery){ if(jQuery.browser) return; jQuery.browser
一、主要介绍: 这题采用之前的技术,根据table的rows属性,获得数组,然后对数组设置样式,所以颜色就出来了。 1).全选复选框 ,通过 var nodess=document.getElementsByName("mail"); for(var x=0;xnodess.length;x++){nodess[x].checked=nodes.checked;} 复选框函数进行 2).按钮全选,反选,和取消全选, 可以用一个函数写,传入不同的参数AllBybtn(num)类型即可 函数里面 根据js的特
本文实例讲述了jQuery实现分隔条左右拖动功能的实现代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 具体内容如下 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"html head title New Document /title script type="text/javascript" src="jquery.min.js"/scrip

jquery背景跟随鼠标滑动导航 - 2015-11-21 17:11:04

本文实例讲述了支持背景图片上下滑动的竖向jQuery菜单导航特效代码,分享给大家供大家参考。具体如下: 运行效果截图如下: 具体代码如下 html xmlns="http://www.w3.org/1999/xhtml"headmeta charset="gb2312"title左边跟随鼠标滑动导航/titlemeta name="keywords" content="滑动导航" /meta name="description" content="左边跟随鼠标滑动导航" /style/*---------
一个纯jq形式的横向轮播焦点图,可点击小圆点或者左右按钮进行切换,属于定宽类型。改成自适应宽度的也不难,将css里面的bannerCon宽度改为百分比,再在js里面将ul和li的宽度跟随父级容器的宽度变化即可,需要用到$(window).resize。 兼容到IE6+以上浏览器,有轮播速度和切换间隔两个参数可以改。效果图如下: Html代码如下: !doctype htmlhtml lang="zh-CN"head meta charset="utf-8" titlebanner图/title link