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 ...
随机推荐
- kafka工作原理简介
消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行 ...
- AI、机器学习、深度学习、神经网络
1.AI:人工智能(Artificial Intelligence) 2.机器学习:(Machine Learning, ML) 3.深度学习:Deep Learning 人工功能的实现是让机器自己学 ...
- 桶排序-py
http://blog.chinaunix.net/uid-20775448-id-4222915.html 看了<啊哈算法>第一节,排序从小到大自己实现了. 从大到小,搜集了下资料.看了 ...
- [svc]磁盘接口与RAID
一 磁盘接口 IDE 传统家用: /dev/hda1 SISC 传统服务器: /dev/sdb1 SATA 现在家用 SAS 现在服务器用 FC(光纤通道) 高级服务器 注意: 分区编号,1-4只能给 ...
- [na]tftp从linux下载文件
1,背景: 当我们ssh到一台linux上时候,从linux上下载一些文件,方案如下: 1.1通过sftp:通过win7 ftp客户端连接到linux去下载文件. 1.2通过tftp 2,问题 有些l ...
- .net+jquery+ashx实现客户端模拟登陆扩展
客户端实现:login namespace LoginApp { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </su ...
- javascript原型继承---constructor篇
很多人对constructor的理解是指向对象的构造函数,今天才发现这种理解是有偏差的... 其实, constructor指向的不是实例化实例的构造函数,而是实例化该对象的构造函数的原型的构造函数 ...
- Ubuntu C/C++开发环境的安装和配置
安装ubantu会自动安装GCC,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,l ...
- error C1083: 无法打开包括文件:“pthread.h”
在AssetsManager项目上右键属性->配置->配置属性->C/C++->常规->附加包含目录->点中,倒三角,编辑,在最后引导路径到pthread.h文件夹 ...
- hdoj1114 Piggy-Bank
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...