NodeJs的介绍
- 当在浏览器中输入一个网址时,计算机如何找到对应的文件?
如: http://ip地址:端口号/路径/文件- 根据ip地址,找到对应的服务器(计算机)
- 根据端口号,找到服务器上对应的软件(如:apache)
- 服务器软件(apache),根据路径和文件,在服务器软件对应的根目录下找 到对应的文件
- nodeJS就是让JavaScript代码可以实现服务器端的功能,相当于php, jsp,asp。打破了JS只能做前端的局限。
- nodeJS是一个基于Chrome V8引擎的JavaScript运行环境。
- nodeJS使 用了事件驱动,非阻塞式的I/O模型,使其轻量又高效。
- NodeJS的包管理器npm,成为世界上最大的开放源代码的生态系 统。
为什么学习Nodejs
学习了nodeJS,不但能辅助前端,而且能够代替后端的编程语言(php,java,C#), 即一门JS语言搞定前后端。
NodeJs的安装
1.方法一
- 进入NodeJs官网
- LTS:long time support 长时间的支持版本,建议安装这个版本,相对稳定一些。
- Current:最新的版本。
- “继续”- ->“安装成功”
- 检查版本号:
node -v
- 终端体验
- 新建js文件(hello.js)
- 里面的代码可以是:
console.log("原生JS的代码在node下可以直接执行");
- 终端输入node hello.js或node hello
2.方法二
- brew install node(前提是安装好Homebrew)
创建NodeJs的应用
-
NodeJs的组成
- 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
- 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
- 接收请求与响应请求: 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
-
应用一
- 创建js文件(server.js),写入以下代码:
const http = require("http"); //引入http模块 const hostname ='127.0.0.1'; //服务器地址 const port = 8888; //服务器的端口号 const server = http.createServer((request,response)=>{ //使用http来创建服务器 response.statusCode=200; response.setHeader('Content-Type','text/plain'); response.end('hello nodeJS\n'); //发送响应内容 }); server.listen(port,hostname,()=>{ //服务器监听 console.log(`Server running at http://${hostname}:${port}/`); //这个单引号要注意,是数字键1左边的那个键 //终端信息打印 });
- 终端重启服务器:
node server.js
- 浏览器中访问:
localhost:8888
- 最终会显示:
hello nodeJS
- 停止服务器:
Ctrl+C
-
应用二
- 创建js文件(info.js),代码如下:
const http = require('http'); //引入http包 const hostname ='127.0.0.1'; //服务器地址 const port = 8888; //服务器的端口号 const server = http.createServer((request,response)=>{//使用http来创建服务器, response.statusCode=200; if(request.url!=='/favicon.ico'){ //如果没有这句话,下面的代码会执行两次,因为,在访问网址时, 默认会请 求“/favicon.ico”,所以,看似请求了一次,其实是请求了两次 response.setHeader('Content-Type','text/html;charset=utf-8'); response.write('<h1 style="color:red">欢迎访问NodeJs界面</h1>'); response.end(); } }); server.listen(port,hostname,()=>{ //监听 console.log(`Server running at http://${hostname}:${port}/`); });
- 终端重启服务器:
node info.js
- 浏览器中访问:
localhost:8888
- 停止服务器:
Ctrl+C