node.js一日游

公司近日招一个从深圳归来的“前端大神”。刚来不久,大神是一个爱折腾的人。我与他聊过几句,聊到js,他极力向我推荐node.js。

node.js的大名我也曾经听说过,一个粗浅的印象,这就是个javascript的后端解释器。javascript都可以做后端,那的确是掉炸天的事情。举个栗子,json他呀的就不用再使用什么解析的工具类了吧。这不得不说是javascript这个反人类(我一直认为javascript的语法反人类)语言,又焕发了第二春啊。

不过,最近再忙着公司的开发计划。一直都没有静下心来仔细了解过node.js。今天难得落了空闲,便搞了搞js。

第一步:安装

千里之行,始于足下。要想搞好node,先得会安装node。我用的系统是ubuntu linux ,先用apt-get
搜索了一下,的确是有node的包。可是,抱着好奇的心,我还是到node.js

的官网走了一遭。

http://nodejs.org/

网上的博客,大多用的都是源码包编译安装。这种行为的确很牛逼,可是我安装一个软件的时候,经常出现编译问题。幸好node.js官网上提供了,编译好了的二进制文件。下载好之后,解压到/usr/local/文件夹下。

配置:

$ vim /etc/profile

打开文件,在最末尾加上:

export PATH=/usr/local/node/bin:$PATH
export
NODE_PATH=/usr/local/node:/usr/local/node/lib/node_modules

第二步:学习什么

node.js也是个js,所以语法什么的,你就不用学了。除非你连javascript都没有学过。最重要的一点,利用库。这个就必须用到npm,npm是什么?如果你开发过Python,那你一定知道pip和easy_install这两个工具。他们就是用来安装Python库的,node.js就是使用npm来安装的。网络安装,所以使用一个好的镜像地址是件很重要的事情。国内的网络,因为一些大家都知道的原因,并不稳定,所以推荐大家使用日本的镜像地址。

第三步:写点东西

写代码的人,每每学习一门新的语言都是从“hello,world!”开始的(如果你不是,抱歉我们不是在一个时代的)。用node.js写了一个,一行代码。

console.log(‘hello,world!‘);

这行代码可以看出很多东西。首先,没有使用一个“print”或“printf”的关键字,而是用的console这个对象(控制台对象)的log()方法。这是一种更彻底的面向对象方式,你可以完全理解成,这行代码是在控制台上打印一行日志(log在很多语言中都是日志方法)。

第四步:关于事件驱动

开发过程中,写过前台的人都不会对事件陌生。onclick,onchange,onsubmit等等,node.js发扬这种事件驱动的精神。你在先前台的一个js的代码时,onclick事件的js代码,是不是只有当被点击时才会执行?

运用到后台的node.js也是如此,即当某件事发生了,这件事下的匿名函数的代码,才会执行。例如,数据操作的代码,我们就可以设为只用数据库已连接的事件发生时,才能执行。

所谓的异步式IO,也正是利用了这一点。IO是个很耗时的操作,所以传统的语言中为了让程序在IO的等待时,也可以做点别的事情,就用到了大家很熟悉的多线程,并发编程。多线程,我只能说无论是编码还是学起来都是相当费劲的。

node.js的异步式IO虽然好,但是对于我们这种写Java,php,c这样语言出身的程序员,没有在思想上拐过弯来,还是有点难度。

入门推荐看《node.js开发指南》,书很短,只有180多页,读完不费力。

时间: 2024-10-07 21:37:58

node.js一日游的相关文章

node.js的安装及配置

一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(64位/32位) 根据提示一步步安装,安装之后的文件夹如下: 在cmd命令行下输入node -v,如果出现如下,说明安装成功: 二.关于配置 在安装路径下新建两个文件夹: 创建完两个空文件夹之后,打开cmd命令窗口,输入 npm config set prefix "D:\Program Files

Node.js: Extend and Maintain Applications + large scale

https://blog.risingstack.com/node-js-mysql-example-handling-hundred-gigabytes-of-data/ My secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. h

1.node.js windows环境搭建

作为服务端运行javascript的平台的NodeJs,把前台javascript移到了服务器端,Google V8引擎使其运行效率非常高,它可以异步,无任何阻塞运行程序.nodejs包含http服务器,可以为我们实现 web系统设计,客户端javascript编译器,等一系列的功能. 工具/原料 windows系统电脑 ,电脑可以上网 方法/步骤 下载windows平台nodejs环境安装包,百度一下nodejs官网,找到DOWNLOADS点击,找到Windows Installer 如果为6

在Node.js中使用RabbitMQ系列二 任务队列

在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心解决的问题是避免立即处理那些耗时的任务,也就是避免请求-响应的这种同步模式.取而代之的是我们通过调度算法,让这些耗时的任务之后再执行,也就是采用异步的模式.我们需要将一条消息封装成一个任务,并且将它添加到任务队列里面.后台会运行多个工作进程(worker process),通过调度算法,将队列里的任

node.js搭建代理服务器请求数据

1.引入node.js中的模块 1 var http = require("http"); 2 var url = require("url"); 3 var qs = require("querystring"); 2.创建服务器 //用node中的http创建服务器 并传入两个形参 http.createServer(function(req , res) { //设置请求头 允许所有域名访问 解决跨域 res.setHeader("

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(

10个常见的Node.js面试题

如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8

CentOS6.5 安装Node.js

Node.js的安装通常有两种方式:自己编译源代码和使用编译好的文件,我这里使用编译好的文件目前我的home目录下有刚下载来的node-v4.2.3-linux-x641.首先解压缩 tar xvf node-v4.2.3-linux-x64 2.设置链接 ln -s /home/node-v4.2.3-linux-x64/bin/node /usr/local/bin/node ln -s /home/node-v4.2.3-linux-x64/bin/npm /usr/local/bin/n

使用NPM安装Node.js模块以及调试

npm npm 作为Node.js的包管理器,是经常用到的工具. 注意:全局安装一个框架,需要加参数-g npm install -g express 安装后 在项目中只需要导入包即可 var http = require('http'); 调试 调试Node的最简单的方式就是console.log(),但是有时候也需要单步调试 在需要调试的地方写入debugger node debug *.js node中的测试命令: next,n:单步执行 cont,c:继续执行,直到遇到下一个断点 ste