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学 ...
随机推荐
- MySQL -- SQL 语句
一. 数据库(Database)操作 创建数据库 create database 数据库名 create database 数据库名 character set 字符集 查看数据库 查看数据库服务器中 ...
- AdvStringGrid 获取值
stringGrid.row stringgrid.col分别为当前行和列 stringGrid.cells[stringgrid.col,stringGrid.row]就是当前cell的值 ---- ...
- sqlserver sp_spaceused用法
sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused [[@objname =] 'objnam ...
- Effective STL 学习笔记 39 ~ 41
Effective STL 学习笔记 39 ~ 41 */--> div.org-src-container { font-size: 85%; font-family: monospace; ...
- Python装饰器讲解
Python装饰器讲解 定义:本质是函数,就是为其他函数添加附加功能.原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 import time def timmer(func ...
- 《精通Python设计模式》学习结构型之代理模式
这种模式,总会让人想到SRPING中的AOP, 不同语言有不同的实现方式吧. class SensitiveInfo: def __init__(self): self.users = ['nick' ...
- sicily 1046. Plane Spotting(排序求topN)
DescriptionCraig is fond of planes. Making photographs of planes forms a major part of his daily lif ...
- USACO 4.4 Shuttle Puzzle
Shuttle PuzzleTraditional The Shuttle Puzzle of size 3 consists of 3 white marbles, 3 black marbles, ...
- myql root用户远程访问
虚拟机搭建的lnmp开发环境,mysql在虚拟机正常访问,想在物理机通过数据库管理工具Navicat远程登录,方便建表查询等操作.经网上一查,有答案了. [以下是转载]http://www.cnblo ...
- Bootstrap--响应式显示图片信息列表
HTML布局 <link href="~/Content/StyleSheet1.css" rel="stylesheet" /> <div ...