个人名片:
😊作者简介:一名大二在校生
🤡 个人主页:坠入暮云间x
🐼座右铭:给自己一个梦想,给世界一个惊喜。
🎅**学习目标: 坚持每一次的学习打卡
文章目录
- 初识node.js
- 什么是node.js?
- 如何查看node.js是否安装成功?
- 终端中的快捷键:
- Node.js 应用是由哪几部分组成的?
- Node.js的优缺点
- JavaScript与Node.js的区别?
- 创建Node.js
- Node.js 应用是由哪几部分组成的?
- 一、使用 require 指令来加载和引入模块
- 二、创建服务器
- 模块化编程
- 什么是模块化?
- 为什么模块化?
- 非模块化的弊端?
- 模块化开发的优点?
- Node.js的核心模块
- Node.js全局函数
- Node.js的全局变量console
- Node.js的模块加载机制
初识node.js
什么是node.js?
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。
Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。
注意:
1.浏览器是JavaScript的前端运行环境
2.Node.js是JavaScript的后端运行环境
3.Node.js是无法调用DOM和BOM等浏览器内置API
如何查看node.js是否安装成功?
1.打开命令行工具,在里面输入node -V和npm -v,如下图所示,安装成功则显示版本号,如果报错则说明没有安装成功,可以官网node.js中重新下载
终端中的快捷键:
● 使用↑键,可以快速定位到上一次执行的命令
● 使用tab键,能够快速补全路径
● 使用esc键,能够快速清空当前已输入的命令
● 输入cls命令,可以清空终端
● 输入ctrl+c命令,可以终止终端
Node.js 应用是由哪几部分组成的?
-
require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。
-
**创建服务器:**服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
-
接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
Node.js的优缺点
优点:
1、Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多。
2、Node.可以让开发人员更好的组织代码,提升复用性。适合处理I/O密集型(文件与数据库)应用。
3、基于Javascript,普及门槛低,JavaScript相对其他的企业级编程语言来说也简单一些,这样前端程序员就可以很快上手利用Node做后端的设计。
缺点:
1、不适合计算密集型应用;
2、不适合大内存的应用;
3、不适合大量同步的应用。
浏览器为例,浏览器是多进程,JS 引擎单线程
JavaScript与Node.js的区别?
创建Node.js
mkdir node
cd node
npm init -y
Node.js 应用是由哪几部分组成的?
-
require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。
-
创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
-
接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
一、使用 require 指令来加载和引入模块
语法:const module = require('module-name');
module-name
:他是一个文件路径(相对或绝对路径),也可以是一个模块名称,如果是一个模块名称,Node.js 会自动从 node_modules 目录中查找该模块。
require
:指令会返回被加载的模块的导出对象,可以通过该对象来访问模块中定义的属性和方法,如果模块中有多个导出对象,则可以使用解构赋值的方式来获取它们。
require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http
语法:var http = require("http");
二、创建服务器
http.createServer()
方法创建服务器,并使用 listen 方法绑定 8888 端口。
request
:接收数据
response
:响应数据
新建server.js 文件输入如下代码
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
注意:一定要在当前目录下打开终端 并输入命令
node+ 你创建的文件名
才可以运行成功
模块化编程
什么是模块化?
根据功能或业务将一个大程序拆分成互相依赖的小文件,再用简单的方式拼装起来
为什么模块化?
无模块化问题所有script 标签必须保证顺序正确,否则会依赖报错
全局变量存在命名冲突,占用内存无法被回收
IIFE/namespace 会导致代码可读性低等诸多问题
非模块化的弊端?
- 命名冲突
- 文件依赖
模块化开发的优点?
1.提高了代码的重用性和可维护性
2.避免了命名冲突
3.Node.js 支持模块的热替换(Hot Module Replacement),这意味着在运行时可以替换或更新模块,而无需重启整个应用。
4.提供了更好的封装性
Node.js的核心模块
Node.js全局函数
Node.js的全局变量console
Node.js的模块加载机制
Node.js会依次在内置模块、全局模块和当前模块下查找引入的内容。