因为是看视频作的笔记,所以有点乱。
由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。没有服务器架构,没有根目录的概念。
安装完成后,在Windows环境下,打开命令提示符:window+R
Node.js特点:单线程、异步I/O特性、事件驱动
$ cd c:\
$ node 1.js
在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:
引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
/*代码示例*/
//读取内置模块http,这个模块是开发服务器用的
var http = require('http');
//创建了一个 http 服务器
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World",通过listen() 方法绑定了 8888 端口
response.end("Hello, Universe! I'm running on Cloud Studio!\n");
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
127.0.0.1是代表本机的意思
$符号是Linux系统中命令行普通用户的表示符号。
检验是否安装成功node.js: $ node -v
系统的环境变量,使得我们可以再CMD中的任何盘符使用node命令。
node命令,空格隔开一个js文件的名字,此时可以将文件拖拽进来,即可以去运行这个js文件。
严禁使用绝对路径拖拽,因为fs读取文件的时候,是相对于光标位置来读取的。
我们说,想要运行谁,就node谁,但要注意盘符路径。
CPU:中央处理器,CPU经常对磁盘/驱动器发出I/O命令
I:input数据的读取。O:output数据的写入。同步I/O时,CPU命令磁盘去做事情,此时CPU自己就闲置了。
用cd命令切换盘符。用cls清空历史。
在CMD中,按↑可以回溯命令历史。
如果要修改程序,此时刷新浏览器没用,必须ctrl+C打断之后重新运行。
Node.js中拥有JS的所有语言核心语法,甚至拥有ES2016的新语法。但是Node.js没有所有BOM的东西,比如window对象,window对象的一切函数也没有。
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
浏览器通过上行请求向服务器下达命令,node.js运行在服务器端,服务器通过node.js向浏览器传达扁平化的html下行相应。通过f12查看源代码是看不到运算过程的,即服务器自己计算后,直接把结果发给了浏览器。
CMD,按tab键,会自动补全
TypeError: First argument must be a string or Buffer
Node.js没有所有DOM对象,如没有window对象及window的一切函数
var http = require('http'); //用node.js引入html文件
var fs=require("fs");
var server=http.createServer(function (req,res) {
fs.readFile("2.html",function(err, filecontent){
res.setHeader("Content-Type","text/html;charset=UTF-8");
res.end(filecontent);
});
});
server.listen(8888);
console.log('http://127.0.0.1:8888/');
//同目录下的html文件:
无标题文档