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学 ...
随机推荐
- mybatis比hibernate处理速度快的原因
mybatis:是面向结果集的.当要展示的页面需要几个字段时,springmvc会提供这几个字段并将其拼接成结果集,在转化为相应的对象. hibernate:是面向对象的.要展示的页面需要某些字段时, ...
- poj1976
dp #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ...
- Extjs 基础篇—— Function 能在定义时就能执行的方法的写法 function(){...}()
Ext.js 中 Function能在定义时就能执行的方法的写法 function(){...}() /** * 第二部分Function:能在定义时就能执行的方法的写法 function(){... ...
- python基础学习之路No.1
版本python2 python语言不分"和',两者可以一样使用,同等效果 1.输出print python3中print是一个函数 print "hello world" ...
- P2448 无尽的生命
Description 小 a有一个长度无限长的序列 p = (1, 2, 3, 4 --),初始时 pi = i 给出 m 个操作,每次交换两个位置的数 询问最后序列逆序对的个数 Solution ...
- python类型学习
python类型学习 标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 Floating point real numer 浮点型 Complex nu ...
- 第一篇CodeIgniter框架的下载及安装
初次学习Php,网上搜了很多php框架,最后选择了CodeIgniter. 安装环境:php5+mysql6.5+iis7 我的电脑是用来办公写文档用的,win7系统,不想换系统,所以就安装了win7 ...
- MFC+WinPcap编写一个嗅探器之三(WinPcap)
介绍程序模块前,这一节再复习一下WinPcap WinPcap开发一个嗅探器的主要步骤如下: (1)获取嗅探设备 WinPcap提供了pcap_findalldevs_ex() 函数来实现这个功能: ...
- 【51nod】1312 最大异或和
题解 很显然我们求出一组线性基来,如果有M个基,那么可以构造N - M + 1个最大异或值 而对于线性基中的元素,除了最大的元素,我们用最大异或值异或掉每个元素累加进答案 而不是把线性基中的元素处理成 ...
- Django学习笔记--通用列表和详细信息视图
根据教程写完代码后,点击All books也一直跳转到index的页面 我打开了F12调试,看到点击没有出现book_list的代码,觉得应该是url的路径写得不对,但是跟教程代码对比了下,并没有发现 ...