一、Node.js简介
1.1甭废话,先安装
nodejs是一个软件,这个软件和java类似,可以理解成为一个虚拟机。
nodejs这个软件是分平台的,windows、mac、linux都有不同的安装包,但是我们写的程序是一样的。
官网:https://nodejs.org/en/
logo:
下载安装nodejs: https://nodejs.org/en/download/
老师已经准备好了windows下的安装包,当然有64位的,有32位的。
如果是mac的同学,请自己下载自己的包。
安装的欢迎界面
同意协议
安装路径全程不能有中文。
事实上很多软件公司已经去中文化,文档都是英语的文件名,文件夹都是英语的。
这个界面不需要改变任何的配置,但是要知道:这里安装了4个东西。
点击下一步就开始安装了
系统的防火墙,选择是
安装过程
nodejs已经被成功的安装。
1.2验证安装是否成功
验证安装是否成功:按住windows徽标键 + R键,呼出系统的“运行”对话框:
输入cmd按回车
cmd是命令的意思
我们能够看见这样的面板,我们叫做“命令行窗口”:
我们在这个命令行窗口中输入
node -v
按回车,能够看见nodejs的版本号:
此时我们就能够看见V8.7.0字样,说明nodejs安装成功了,版本号是V8.7.0。
如果看见'node'不是内部或外部命令,也不是可运行的程序或批处理文件。说明没有安装成功,此时重复1.1小节的内容即可。
1.3整体感知一下nodejs怎么用?是个啥玩意儿
nodejs安装好之后,桌面上没有任何图标,也就是说不是一个普通的软件。
创建C:\node_study\day1文件夹
创建一个1.js的文件,程序是计算1~100的和:
var sum = 0;
for(var i =1 ; i <= 100; i++){
sum += i;
}
console.log(sum);
我们的目的,用nodejs来运行这个1.js程序。
可见盘符不是我们刚才创建的那个文件夹,不是那个1.js所在的文件夹。所以用
cd c:\nodejs_study\day1
来切换路径。
我们的口号是运行谁就node谁。
一定要注意盘符的位置。为了方便切换盘符,小技巧:
nodejs是一个运行js的平台,它的内核是Chrome的V8引擎,nodejs不是一个语言,语言还是JavaScript。
现在的你已经知道了2个JS的运行环境:
1)浏览器环境,必须写html骨架,必须写
2)nodejs环境,不需要写什么骨架,运行谁就node谁
1.4感受nodejs非常强大的能力(演示)
需求:用JS程序批量更改图片尺寸
看下面的代码,是JS么???是!!
var fs = require("fs");
var gm = require("gm");
fs.readdir("./img" , function(err,files){
for(let i = 0 ; i < files.length ; i++){
gm("./img/" + files[i]).resize(50, 50).write("./xiaotu/" + files[i], function () {
});
}
});
我们书写这个程序(当然需要安装依赖什么的,老师快速演示就省略了)
node 2.js
之后,发现现在JS程序可以批量更改图片尺寸了!!
也就是说:nodejs让js插上了翅膀。
nodejs的程序和浏览器运行的js程序,本质都是js程序,重点关注它们的差异是:
浏览器的js程序往往是实现DOM效果、数据的提交、表单的验证、canvas等等;
nodejs的js程序往往是写服务器程序、操作文件、图片、数据库等等。
1.5了解一下系统的环境变量
安装的位置C:\Program Files\nodejs
系统有一个机制,叫做“环境变量”,用PATH来表示。
我们只需要了解即可,不需要操作。
看一下环境变量在哪儿配置:
我们的msi安装包已经将nodejs安装路径添加到了系统的环境变量里面。
系统规定:所有在环境变量里面的路径的exe程序,将能够作为顶级的、系统级的命令在CMD窗口中被调用。
也就是说,我们每次运行node程序,实际上都是在调用我们下载的node.exe文件。
1.6 Node.JS简介
Ryan Dahl创始人
nodejs是一个极客追求极致服务器效率而做出的产物。
内核是Chrome浏览器的V8引擎,解析JavaScript的效率是非常快的。
NodeJS的特点:
[if !supportLists]l [endif]单线程
[if !supportLists]l [endif]异步I/O(非阻塞I/O)
[if !supportLists]l [endif]事件驱动
这三个特点是什么意思呢?我们慢慢来寻找答案。
2013年开始,nodejs突然间火爆,因为nodejs的工作流工具火了!
在1.3小节老师给大家进行了一个演示,瞬间将 300多张图片变为小图,依赖了一个叫做gm的工具,这个工具就是nodejs工作流工具。
我们现在学习nodejs的意义,已经从学习HTTP服务器的构建,变为学习它的工作流工具。
公司的服务器都是PHP、JSP、Python、.net制作的,nodejs做http服务是很少的。但是,每一个前端必须会nodejs,因为之后用的所有的东西webpack、babel、gulp、grunt等等都是基于nodejs的。
关注微信公众号:爱前端科技 更多前端技术知识分享 加入qq群 137503198 技术交流