`

NodeJS探索

阅读更多

一、什么是NodeJS?第一眼看到这个词,估计你和我一样,以为它不过是一个JavaScript框架吧?如果是,那么首先恭喜你,说明你的思维是正常的。其次鄙视你:凭什么带JS的就一定是JavaScript框架?你丫做技术的吧?最看不起你们这帮做技术的了,跟姓韩的那谁似的,没一点文化。生活经验告诉我们,牛人往往都不怎么正常,正常人往往都成不了我的可耻,我也笑了。令人欣慰的是上帝没有笑。当年上帝说要光,于是就有人脱了个精光。今天,上帝说我相信这个人能成牛人。比如说NodeJS的发明者,这家伙就曾叫嚣说:其实JavaScript更适合做服务器端的并发编程。估计很多人听到这话都笑了,嗯,原谅,于是这个人还真成了,他弄了这么个东西:NodeJS--基于V8引擎的,使用事件驱动模型而不是复杂的多线程来获得可伸缩性,类似Ruby的EventMachine和Python的Twisted的轻量级WEBServer。是不是很有意思?这意味着什么我想大伙都清楚吧?嗯,如果这东东真的可用,那就是说,以后前段后端都可以都用JavaScript来编程了,这对于JS程序员来说,真是一个莫大的福音,因为你们再也不用看着那帮做后台的孙子的脸色干活了,可以翻身做后端了。好,废话到此,那接下来就请跟着我,开始NodeJS的探索之旅。 二、安装!安装前先从NodeJS的官方网站下载其源代码: 1.[root@www source]# wget http://s3.amazonaws.com/four.livejournal/20091028/node-v0.1.15.tar.gz 2.[root@www source]# tar xzvf node-v0.1.15.tar.gz 3.[root@www source]# cd node-v0.1.15 安装NodeJS很简单,一般情况下,Linux下常用的三步走即可。但需要注意的是:NodeJS需要2.3以上版本Python的支持,否则安装无法继续。 打开tools/waf-light,看到如下代码: 1.#!/usr/bin/env python 2.# encoding: utf-8 3.# Thomas Nagy, 2005-2009 4. 5.# ... 6. 7.import os, sys 8.if sys.hexversion<0x203000f: raise ImportError("Waf requires Python >= 2.3") 从以上代码我们知道,在安装脚本中,在Python脚本的头部指定了#!/usr/bin/env python,这就使得如果你的系统安装了自带的Python程序,则有可能由于版本不够高而无法安装。比如我的系统,是把Python2.5安装在了/usr/local/python252,同时未删除系统自带的低版本Python,此时如果configure,则会出错。 好吧,那我们建一个软连接: 1.[root@www source]# sh 2.[root@www source]# cd /usr/local/sbin/ 3.[root@www source]# ln -s /usr/local/python252/bin/python2.5 python 4.[root@www source]# python 5.[root@www source]# exit 此时执行的/usr/bin/env python,即可使用我们自己编译的Python。 PS.直接建软连接就可以了,这里之所以到sh环境下,是为了看一下sh环境。 执行configure,安装nodejs: 1.[root@www source]# ./configure --prefix=/var/iapps/nodejs 2.[root@www source]# make && make install 三、初次试用:一切顺利,安装完成,写个脚本试试: 1.#!/var/iapps/nodejs/bin/node 2. 3.var sys = require("/sys.js"), http = require("/http.js"); 4.http.createServer(function (req, res) { 5. setTimeout(function () { 6. res.sendHeader(200, {"Content-Type": "text/plain"}); 7. res.sendBody("Hello,This is Laohan(www.handaoliang.com)!"); 8. res.finish(); 9. }, 2000); 10. }).listen(8000); 11.sys.puts("Server running at http://127.0.0.1:8000/"); 我相信,对于JavaScript程序员来说,这语法真是太熟悉了,除了第一、第二行之外。无论如何,我们要开始我们的梦想之旅了,那么接下来我们将example.js设置成可执行并运行它: 1.[root@www source]# chmod +x example.js 2.[root@www source]# ./example.js 此时屏幕显示:Server running at http://127.0.0.1:8000/ 访问:http://127.0.0.1:8000/,如果看到页面输出:Hello,This is Laohan(www.handaoliang.com)!,那么恭喜你,安装成功了,接下来就需要发挥你自己的聪明才智,去实现各种强大的功能了。很激动人心吧? 后面将为大家深入分析NodeJS,敬请期待。

分享到:
评论

相关推荐

    nodejs-fs:探索NodeJS的fs模块

    探索NodeJS的fs模块 该项目的目的是记录和学习nodejs项目中fs模块的用法。 fs模块用于基于文件的操作。 var fs = require("fs") fs模块提供同步和异步方法。 fs模块中的每个方法都具有同步和异步形式。 异步方法...

    simplecluster:nodejs集群实践探索

    Redis 队列的作业计划: 0.2 使用亚马逊 SQS,工作人员将收听队列无忧排队如果使用 SQS = 主要重写来转储 redis 和 kue,如果有意义,则进行基准测试0.3 一旦网站的图像回来,使用 nodejs gm , gm("img.png")....

    nodejs安装及环境配置介绍

    nodejs安装及环境配置。一、下载Node.js 首先,你需要在Node.js的官方网站下载对应你电脑系统(Windows、macOS、Linux等)的安装包。 二、安装Node.js 双击你下载的.msi(Windows)或.pkg(macOS)文件开始安装。 ...

    nodejs-socket-keepalive:用于测试套接字保持活动行为的简单套接字服务器和客户端

    nodejs-socket-keepalive 创建此项目是为了探索 Node.js 中套接字上 setKeepAlive() 选项的行为。 使用服务器和客户端从两端测试 KeepAlive 行为。 使用不同的机器和/或防火墙规则来模拟网络故障。 背景故事 曾经有...

    基于NodeJS的前后端分离的思考与实践(一)全栈式开发

    痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图探索一条全新的前后端分离模式。 随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足...

    harmonyos2-explorer:探索和分享。使用nodejs制作的高度可配置的目录列表

    和声2 探险家 探索和分享。 使用 nodejs 制作的高度可配置的目录列表。 要求 nodejs (v4 支持和谐) 从 v3.0.0 开始不再支持 0.12 和 iojs 安装 nodejs curl -o- ...Cust

    ronline:一个NodeJS应用程序,用于探索R的多个版本

    一个NodeJS应用程序,用于探索R的多个版本。 在线版本位于 如何 安装节点和泊坞窗 安装所有docker版本的r-ver for i in 3.6.0 3.5.3 3.5.2 3.5.1 3.5.0 3.4.4 3.4.3 3.4.2 3.4.1 3.4.0 3.3.3 3.3.2 3.3.1 3.3.0 ...

    quicli:使用NodeJS快速创建CLI,仅此而已!

    免责声明:此项目处于Alpha /探索性阶段。 更新可能包括严重的API更改。 为什么选择QuiCLI? 快速:几秒钟之内即可准备好工作的CLI! 简单:易于使用的API。 无需依赖:仅需要NodeJS即可。 入门 没有包管理器: ...

    nodejs-6-blueprints:Node.JS 6蓝图手册

    在本书中,我们将探索构建Node.js应用程序的不同方法,并了解使用MVC设计模式构成基本博客页面的元素。 我们将学习如何使用命令行工具来部署和运行应用程序,以处理不同类型的视图模板(例如EJS和SWIG)以及更复杂的...

    candidate-project-nodejs:欢迎参加ZOOM + Care NodeJS API候选代码挑战!

    如果您独自一人来到这里,欢迎您探索挑战并利用它来提高自己的技能或为以后的面试做准备。 ZOOM + Care候选代码挑战计划需要1到2个小时才能完成。 这并不是要对您的编程技能或知识进行广泛的测试,而应作为在申请...

    nodejs-mongodb-rest-api:使用nodejs mongoosemongodb expressjs的oauth(login)REST API样板

    现在,您准备好探索这个!!! 设置此应用程序的步骤 git clone cd nodejs-mongodb-rest-api npm安装我更喜欢使用“纱线” 节点app.js 在该更新之前,“ file:app.js”中的MongoDB url var connStr = 'mongodb:...

    node-upnp:NodeJS通用即插即用协议的asyncawait实现

    P个打下协议的NodeJS。动机尽管其他一些问题都集中在UPnP的客户端/服务器实现上,但这个极简主义的软件包很重要:插入和拔出您的设备。用法该API倾向于很快被更改,从而允许进一步探索和使用设备,服务及其架构。 到...

    基于NodeJS的前后端分离的思考与实践(二)模版探索

    而我们选择了NodeJS,作为一个前后端的中间层。试图藉由NodeJS,来疏理 View 层面的工作。 使得前后端分工更明确,让专案更好维护,达成更好的用户体验。 本文 渲染这块工作,对于前端开发者的日常工作来说,佔了...

    Blog-Nodejs

    欢迎使用Blog-Nodejs :waving_hand: 该API的提议者将由Blog使用,并探索NODEjs和MySQL的领域安装npm install用法npm run start创建现场连接src/database/connection.js const knex = require ( 'knex' ) ( { client ...

    nodejs-simple-api-project

    简单的NodeJS项目这是我的第一个NodeJS项目,这是一个很小的项目,我在其中探索了API和使用中间件的概念。 :high_voltage: 该项目该项目包含一个简单的API,其中包含GET,POST,PUT和DELETE方法。 数据存储在本地...

    nodejs-clean-architecture-app

    遵循干净架构原则的基本Hapi.js API 入门(&lt;200万) git clone git@github.com:kolobokhtc/nodejs-clean-architecture-app.git ... 此存储库是对这种类型的体系结构的探索,主要基于DDD和Clean

    nodejs-mongodb-angularjs

    nodejs-mongodb-angularjs 该存储库包含在阅读Brad Dayley所著的《 Node.js,MongoDB和AngularJS Web开发》一书时开发的探索代码。

    nodejs-drink-counter:移动应用程序可帮助您跟踪您在酒吧时的饮酒量

    这是一个探索 Node.js、MongoDB 和 jQuery Mobile 的实验项目。 安装 如果您还没有安装 MongoDB,请安装它。 # apt-get install mongodb 创建 mongo 帐户(我使用的是源代码中硬编码的用户名/密码) $ mongo &gt; ...

    nodejs-basic

    基本的nodejs 基于第2章的简单示例项目,在不依赖项的情况下探索使用NodeJS进行路由,这是一个大型项目的一部分,以使自己熟悉NodeJS和ExpressJS

Global site tag (gtag.js) - Google Analytics