Node.js学习笔记(2) - Node.js安装及入门hello world
今天来简单的记录一下Node.js的安装配置以及简单的入门
一、Node.js的安装
1.windows下的安装
windows下的安装很简单,只需要去官网http://nodejs.org中,找到window下的安装包,然后直接下一步即可
此种方法完成后,默认安装npm管理器,目录结构如图:

2.Linux下的安装
关于Linux下的安装,具体本人也没有试过,现只粗略的记录一下
Linux发行版 命令
Debian/Ubuntu apt-get install node.js
Fedora/RHEL/CentOS/Scientific Linux yum install node.js
openSUSE zypper install node.js
Arch Linux pacman -S node.js
当然官网中提供了 Mac OS X 上专用的安装包,下载即可。
3.编译安装node.js
官网中提供了源代码包,为此用户可以根据自己的习惯,采用编译安装的方式,但是注意
在POSIX系统中,需要几个工具:
①c++编译器gcc或clang/LLVM
②Python版本2.5以上,不支持Python3.0
③libssl-dev提供SSL/TSL加密支持
在windows下的编译,需要安装Microsoft Visual Studio进行编译
(当然编译安装的方法,本人也没有试过)
二、Node.js简单编程
安装完node.js之后,就可以运行Node.js程序了
在命令行窗口输入命令:node,进入了node运行环境,输入console.log("hello world"),效果如下

undefined是该函数的返回值
这种方式是node的REPL模式(read-eval-print loop,输入-求值-输出循环),是一个javascript的交互式shell
也可以在hello.js中,写入代码console.log("hello world"),然后在该目录下,运行命令
node hello.js,效果如下

当然文件的扩展名,不一定是js,可以是系统可识别的任意扩展名,保留扩展名js,只是习惯而已
当然也可以这样 node -e "console.log('hello world')"

Node.js与传统的 浏览器 -- HTTP服务器 -- 程序解释器 不同,直接采用 Node.js -- 浏览器 的组织方式
看下面一个例子
app.js内容如下:
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>Hello World</p>');
}).listen(3000);
console.log("HTTP server is listening at port 3000.");
首先运行node app.js,
然后在浏览器中,访问地址http://127.0.0.1:3000
即可看到效果

关于Node.js的程序,如果修改了任何一个文件,都必须终止Node.js,在重新运行方可生效;
这时,可以使用 supervisor来解决此问题,他会监视代码的改动,并自动重启Node.js;
安装supervisor
npm install -g supervisor
用supervisor启动Node.js
supervisor app.js
关于npm的几点说明:
npm [install/i] [packagename]
npm的安装有两种模式,本地模式和全局模式,默认是本地模式
npm [install/i] -g [packagename] 全局模式
Node.js学习笔记(2) - Node.js安装及入门hello world的更多相关文章
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- Node.js学习笔记(1) - Node.js简介
近期在看一些Node.js的知识,看完后觉得,一些前面的东西忘记了,于是整理一下,方便自己查阅,也希望对学习Node.js的朋友有些帮助: 当然以下只是我个人的观点和理解,不喜勿喷,也望大神指教. 一 ...
- Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST
1 . Nodejs 静态文件托管静态 web 服务器封装 2 . 路由 官方解释: 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的, ...
- Node.js学习笔记(八) --- Node.js的路由模块封装
1 .模块化的方式封装 整理中… 2 .封装仿照 express 的路由整理中…
- JS学习笔记(模态框JS传参)
博主最近基于django框架的平台第一版差不多完成了 今天整理下开发过程中遇到的前端知识 基于前端bootstrap框架模态框传参问题 上前端html代码: <div class="m ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
- 系列文章--Node.js学习笔记系列
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...
随机推荐
- ios 个人开发者账户 给其他团队用坑爹的教程
最新版本的 ios 支持 3个开发者证书 和 3个发布者证书 ,如果是多余3台电脑设备要真机调试,就比较麻烦 (手机支持100个设备) 解决方案就是: 在别人的电脑上要成功安装,须具备两个文件: ...
- unity 2d 游戏优化之路 遇坑记录
情景说明: unity 出的Android包,在目前一些主流机型跑都没有问题,但是在 小米3 这种比较老的机器上跑,报如下错误 GLSL compilation failed, no infolog ...
- python网络编程-Select\Poll\Epoll异步IO
首先列一下,sellect.poll.epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select ...
- gcc/g++ 命令
gcc & g++现在是gnu中最主要和最流行的c & c++编译器 .g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可.其实是无关紧要的.其 ...
- 在windows中安装两个不同版本的Python
这段时间买了一本 利用Python进行数据分析的书.书上要我将原来安装的Python的环境去掉,但是我觉得这样做不行,我以前写过的很多东西还在呢.遂在博客中找到了解决方法,记录之. 首先,我们安装了两 ...
- 通过构造系统服务分发实现拦截&过滤 (仿360游戏保险箱)
想写这个程序主要是因为看了KSSD的一篇帖子,http://bbs.pediy.com/showthread.php?t=108378 讲 的是360保险箱保护游戏账号的原理,实际上就是对各种请求的拦 ...
- **PHP foreach 如何判断为数组最后一个最高效?
http://www.zhihu.com/question/20158667 其他方法: $list = array('a', 'b', 'c'); foreach($list as $k=>$ ...
- 程序设计实习MOOC / 程序设计与算法(二)第二周测验(2018春季)
递归算法: 1:全排列 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列. 我们假设对于小写字母有'a' < ' ...
- USACO 4.4 Shuttle Puzzle
Shuttle PuzzleTraditional The Shuttle Puzzle of size 3 consists of 3 white marbles, 3 black marbles, ...
- python 字符串截断
>>> s = '%20and%201=2%20union%20select%201,group_concat%28table_name%29,3,4,5,6,7,8,9,10,11 ...