node.js 入门 (1)
node.js 入门 (1)
- 一、node.js 是什么?
- 二、node.js 有那些特点?
- 三、node.js 安装种配置
- 安装方式 1:安装单个 node 版本(不推荐)
- 安装方式 2:安装多个 node 版本(推荐)
- 四、Node.js REPL(交互式解释器)
- 五、Demo
- demo1:hello world(helloWorld.js)
- demo2:文件写入(wfs.js)
- demo3:单线程node执行顺序(singleton。js)
- demo4 读文件(rfs.js)
- demo5 http服务(http.js)
- 六、干货
一、node.js 是什么?
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
二、node.js 有那些特点?
- 事件驱动:当事件被触发时,执行传递过去的回调函数
- 非阻塞式 I/O 的模型:当执行I/O操作时,不会阻塞线程
- 单线程
三、node.js 安装种配置
安装方式 1:安装单个 node 版本(不推荐)
- 下载地址 https://nodejs.org
- 官网术语解释
LTS 版本:Long-term Support版本,长期支持版,即稳定版。
Current Latest Features版本,当前最新的特性,即最新版本
安装方式 2:安装多个 node 版本(推荐)
- 安装nvm(Node Version Manager)
下载地址:https://github.com/coreybutler/nvm-windows/releases
选择nvm-setup.zip,下载后直接安装。 - 验证安装是否成功:nvm -version
- 修改国内下载源,默认通过github下载,在线安装经常失败(可选)
D:\develop\nvm\settings.txt
root: D:\develop\nvm
path: D:\develop\nodejs#新增
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
- 安装node :nvm install 10.15.3 (预计下载5分钟)
- 使用node:nvm use 10.15.3
- 常用命令
nvm version 查看版本
nvm install latest
nvm install 版本号
nvm uninstall 版本号
nvm list
nvm use 版本号
四、Node.js REPL(交互式解释器)
Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。
Node 自带了交互式解释器,可以执行以下任务:
读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。
执行 - 执行输入的数据结构
打印 - 输出结果
循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。
ye:Node REPL 主要用于调试 Javascript 代码。
- 简单的使用
λ node
> 5+8
13
> x=5
5
> y=3
3
> x+y
8
> console.log("ye90")
ye90
undefined
>
五、Demo
demo1:hello world(helloWorld.js)
var m=3;
var y=5;function add(x,y){return x+y;
}console.log('计算的结果:',add(m,y));
console.log('hello world!');
运行结果:
demo2:文件写入(wfs.js)
//1.加载文件操作模块,fs模块
var fs = require('fs');//fs.writeFile(file, data[, options], callback)
var msg= 'Hello Node.js';
fs.writeFile('message.txt', msg,'utf8', (err) => {if (err){throw err;} //ye: err===null,表示写入文件成功console.log('The file has been saved!');
});
ye:
1、第三个入参utf8可不写
demo3:单线程node执行顺序(singleton。js)
console.log('ye1');setTimeout(function(){console.log('ye5');
},3000);console.log('ye2');setTimeout(function(){console.log('ye4');
},0);console.log('ye3');
ye:
1、在线动画演示 http://latentflip.com/loupe
demo4 读文件(rfs.js)
var fs= require('fs');
//加载 path 模块
var path = require('path');
//使用join拼接,主要解决兼容,如苹果电脑不支持'\\'这种写法
var filename = path.join(__dirname,'./message.txt');
//fs.readFile(path[, options], callback)
fs.readFile(filename,function(err,data){if (err) {throw err;}// data是一个buffer对象,需要转成字符串console.log(data.toString('utf8'));// 默认是utf8,所以可不写console.log(data.toString());
});
demo5 http服务(http.js)
var http = require('http')
//创建
var server = http.createServer()
//监听
server.on('request',function(req,res){res.write('ye')res.end()
})
//启动
server.listen(8080,function(){console.log('已启动8080端口!')
})
六、干货
1、异步操作无法通过try-catch来捕获异常,要通过判断error来判断是否出错
2、同步操作可以通过try-catch 来捕获异常
3、不要用 fs.exists(path, callback),exists已弃用,可以使用fs.stat() or fs.access() 替代。也可以直接判断error
4、__dirname:当前被执行的js的目录
5、__filename:当前被执行的js文件名
node.js 入门 (1)相关推荐
- node.js入门 - 9.api:http
node一个重要任务是用来创建web服务,接下来我们就学习与此相关的一个重要的api -- http.我们使用http.createServer()创建一个http服务的实例,用来处理来自客户的请求. ...
- 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记
最近想尝试一下在IBM Bluemix上使用Node.js创建Web应用程序,所以需要在本地搭建Node.js Web的开发测试环境. 这里讲的是Windows下的搭建方法,使用CentOS 的小伙伴 ...
- js读取http chunk流_极简 Node.js入门 教程双工流
点击上方蓝字关注我们 小编提示: 本文是由 ICBU 的谦行小哥哥出品,我们会持续发出极简 Node.js入门 教程,敬请期待哦,文中有比较多的演示代码建议横屏阅读 双工流就是同时实现了 Readab ...
- Node.js 入门知识点总结
Noed.js 快速入门 前言 node.js 入门 环境配置 hello node.js node.js 获取参数 node.js 模块系统 node.js 路由 node.js 文件操作 使用 n ...
- node.js入门 - 7.异常处理与多进程开发
node.js入门 - 7.异常处理与多进程开发 参考文章: (1)node.js入门 - 7.异常处理与多进程开发 (2)https://www.cnblogs.com/softlover/arch ...
- Node.js 入门教程 23 使用 npm 的语义版本控制 24 卸载 npm 软件包 25 npm 全局或本地的软件包
Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 Node.js 入门教程 23 使用 npm 的语义版本控制 24 ...
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- Node.js 入门教程 6 V8 JavaScript 引擎
Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录 Node.js 入门教程 6 V8 JavaScript 引擎 6 ...
- 让我们一起学习《Node.js入门》一书吧!
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
最新文章
- python和java一样吗-Python与Java的区别与优劣?
- 羊皮卷的故事-第十章-羊皮卷之三
- XeLaTeX插入GB/T 7714-2005规范的参考文献方法
- linux-shell面试题 之二
- [转载] 一致性哈希
- Django Web在Apache上的部署
- python和java哪个有用_python和java哪个好
- JAVA的日期与毫秒的相互转换
- Python替换多个tomcat端口号
- 计算机辅助设计 Photoshop 教案,计算机辅助设计①Photoshop学习领域课程标准.doc
- matlab u怎么求均方差,Matlab求方差,均值,均方差,協方差的函數
- A4988驱动步进电机教学
- 图解域名解析DNS过程
- P2433 【深基1-2】小学数学 N 合一
- ubuntu16.04Django环境的搭建
- svchost.exe占用cpu过高怎么处理(原因及解决办法)
- 基于python的掺杂介质六面体nastran网格生成脚本
- English Grammar(二)
- 微信小程序之评分页面
- android 信息(mms)的故事(八)-- 彩信的解析