Nodejs入门手记 (01):Hello World的WEB程序
声明:本文为原创文章,如需转载,请注明来源并保留原文链接Allong,谢谢!
“滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。” - 《临江仙·杨慎·明》
很熟悉的旋律,鸡汤了一下:高考是一个起点,学得好的找到好学校,号称学霸;工作又是一个分水岭,认真做事,勤奋好学,晋身大神。不要太在意过去你得到什么,盯着未来你想要什么?
A-one:创建Node环境
windows(X64)
下载安装包,傻瓜式安装,自带npm包管理器(node pakeage manager)带你装逼带你飞。
V4.6.1传送门:官网下载地址(当前稳定版,新手适用,需翻墙)
V6.9.0传送门:官网下载地址(包含当前最新特性,官网建议是你是大神就玩一玩,部署还是用上面的版本吧)
不来个安装页面总觉得对不起谁似的:
POSIX系列:
Debian/Ubuntu:
sudo apt-get install nodejs
Redhat/CentOS:
sudo yum install nodejs
在linux平台上比较坑爹的是,你可能下载到的不会是最新版本,这是为啥呢?为啥呢?为啥呢?Linux版本更新的速度远慢于Nodejs,有种老牛拖破车的感觉,嘿咻嘿咻~
这时候如果你真的追求版本上的升级,且熟悉Linux编译的话,可以使用直接make源代码的方式处理。
源代码还跨平台咧,感觉就是一个种子.avi,啥播放器都能看,传送门:官网源代码(V4.6.1 需翻墙)。
上面的系统需要安装apt-get / yum:
c++编译器:g++ OR c++工具
Python(2.7.2以上,phython3以下版本,一般系统自带python,版本号自查python --version)
libssl-dev SSL/TLS加密支持
MAC OS X:
传送门:官网下载地址(稳定版V4.6.1,翻墙吧少年)直接安装
PS:homebrew是另外一种的姿势
A-two:The first Node page:Hello World!
绝大多数程序员的第一个输出:Hello World。
突然想起在学校混日子打DOTA的日子,当年DOTA还在魔兽世界上,有个大神同学的ID就是Hello Word,DOTA玩得转,代码CODE得溜,大神转身入TX,DOTA依旧在,只是人不同。
扯远了,看一下代码,写个hello.js文件吧:
// 调用Node.js提供的http模块
var http = require('http'); // 创建HTTP服务器,监听访问
// @param req 请求对象
// @param res 响应对象,收到请求后要做出的响应
var server = http.createServer( function (req, res) {
// 输出响应头
res.writeHead (, {'Content-Type' : 'text/html'});
// 写内容
res.write('Hello world');
// 结束,如果不写,请求一直处于pedding状态,可注释做测试
res.end();
}).listen(); //监听3000端口 console.log("HTTP Server is listening at port 3000");
window7 DOS下,切换到hello.js所在路径,执行:
node hello.js
哇擦,骗我,我要报警!node怎么变成supervisor(隐藏调试技能点)了,少年不要方,抱紧我,后面告诉你!
本地浏览器访问(127.0.0.1的访问一样):
哦,好像还漏了一个supervisor:
node执行之后的脚本,在你更新脚本内容之后,无论怎么刷浏览器,所得的结果不会改变。这是因为Node.js只有在第一次引用的时候解析脚本之后就把常驻内存,以避免重复Load浪费资源。但是作为Coder,希望每次修改所存即可见,怎么办?
npm install -g supervisor
利用supervisor来启动脚本,完美调试。
怎么样,通过这篇学习,你入门了吗?学艺不精,欢迎拍砖~
部署到本地的vagrant服务器:
浏览器访问:
呵,简单易用,搞定收工!这样搭个API接口环境,就能轻而易举的玩起前后端分离了。
Nodejs入门手记 (01):Hello World的WEB程序的更多相关文章
- APP开发手记01(app与web的困惑)
文章链接:http://quke.org/post/app-dev-fragment.html (转载时请注明本文出处及文章链接) 最近在用博客园的wcf服务做博客园的android和ios的app, ...
- .NET零基础入门之01:开篇及CSharp程序、解决方案的结构
一:为什么选择C# 每个人都有梦想,有些人的梦想就是:成为程序员.最课程(www.zuikc.com)的<零基础c#入门>是试图帮助我们实现这个梦想. 也许你要问:我基础很差怎么办?最课程 ...
- Servlet入门(第一个Servlet的Web程序)
新建maven项目,注意项目的类型 project名为ServletExample 点击Finish.建立maven项目完毕例如以下 生成后的文件夹没有java源代码文件夹.依照maven的约定,还要 ...
- 01.Nodejs入门之Helloworld
说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo, ...
- nodeJs 5.0.0 安装配置与nodeJs入门例子学习
新手学习笔记,高手请自动略过 安装可以先看这篇:http://blog.csdn.net/bushizhuanjia/article/details/7915017 1.首先到官网去下载exe,或者m ...
- NodeJS入门(四)—— path对象
很快Node就会迎来4.0的时代,届时将并入现有的iojs,所以先前写过的iojs入门系列直接更名为NodeJS入门. 本篇开始将逐个介绍Node的各主要模块,依循API文档走一遍,但会给出比API文 ...
- AngularJS快速入门指南01:导言
AngularJS使用新的attributes扩展了HTML AngularJS对单页面应用的支持非常好(SPAs) AngularJS非常容易学习 现在就开始学习AngularJS吧! 关于本指南 ...
- NodeJS入门简介
NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...
- 【爬虫入门手记03】爬虫解析利器beautifulSoup模块的基本应用
[爬虫入门手记03]爬虫解析利器beautifulSoup模块的基本应用 1.引言 网络爬虫最终的目的就是过滤选取网络信息,因此最重要的就是解析器了,其性能的优劣直接决定这网络爬虫的速度和效率.Bea ...
随机推荐
- java中Map,List与Set的差别
java中Map,List与Set的差别 java集合的主要分为三种类型: Set(集) List(列表) Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,而且同一个数组 ...
- 清理linux 某个文件夹下面所有的log文件
#!/bin/sh #目标文件夹下面所有问题 target_dir="/app/" #删除2天前新建的后缀为log的文件 -name "*.log" -exec ...
- jsp指令和重定向
1 声明指令 格式:<%!声明变量或函数 %> 作用:会生成一个成员变量或成员方法,也可以使用访问修饰符修饰,public,private,protected 2 注释指令 格式:< ...
- MySql按字段分组取最大值记录
数据库原始数据如下:数据库名:tbl_clothers 需求是:按照type分组,并获取个分组中price中的最大值,解决sql如下: 方法一: select * from (select type, ...
- unity, multi pass shader中的surface pass
今天尝试写一个multi pass shader,但其中有一个Pass是surface pass,总是莫名奇妙地报错.后来看到下面帖子: http://forum.unity3d.com/thread ...
- C++中虚基类在派生类中的内存布局
今天重温C++的知识,当看到虚基类这点的时候,那时候也没有太过追究,就是知道虚基类是消除了类继承之间的二义性问题而已,可是很是好奇,它是怎么消除的,内存布局是怎么分配的呢?于是就深入研究了一下,具体的 ...
- javascript原生bind方法ie低版本兼容详解
上一篇文章讲到了javascript原生的bind方法: http://www.cnblogs.com/liulangmao/p/3451669.html 这篇文章就在理解了原生bind方法的原理以后 ...
- 索引长度过长 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
1.发现问题 今天在修改innodb表的某个列的长度时,报如下错误: alter table test2 modify column id varchar(500); ERROR 1071 (4200 ...
- jQuery实现的层级轮播图
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- IP地址归属地查询
http://www.ipip.net/download.html#ip_code 下载免费版 IP 地址数据库. 网站下面有官方给出的查找IP地址所属国家.省.市的办法. python版本列出 py ...