相关推荐recommended
Node.js入门基础—day01
作者:mmseoamin日期:2024-03-20

个人名片:

😊作者简介:一名大二在校生

🤡 个人主页:坠入暮云间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中重新下载

              Node.js入门基础—day01,在这里插入图片描述,第1张

              终端中的快捷键:

              ● 使用↑键,可以快速定位到上一次执行的命令

              ● 使用tab键,能够快速补全路径

              ● 使用esc键,能够快速清空当前已输入的命令

              ● 输入cls命令,可以清空终端

              ● 输入ctrl+c命令,可以终止终端

              Node.js 应用是由哪几部分组成的?

              1. require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。

              2. **创建服务器:**服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

              3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

              Node.js的优缺点

              优点:

              1、Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求,因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多。

              2、Node.可以让开发人员更好的组织代码,提升复用性。适合处理I/O密集型(文件与数据库)应用。

              3、基于Javascript,普及门槛低,JavaScript相对其他的企业级编程语言来说也简单一些,这样前端程序员就可以很快上手利用Node做后端的设计。

              缺点:

              1、不适合计算密集型应用;

              2、不适合大内存的应用;

              3、不适合大量同步的应用。

              浏览器为例,浏览器是多进程,JS 引擎单线程

              JavaScript与Node.js的区别?

              Node.js入门基础—day01,在这里插入图片描述,第2张Node.js入门基础—day01,在这里插入图片描述,第3张

              创建Node.js

              mkdir node
              cd node
              npm init -y
              

              Node.js 应用是由哪几部分组成的?

              1. require 指令:在 Node.js 中,使用 require 指令来加载和引入模块,引入的模块可以是内置模块,也可以是第三方模块或自定义模块。

              2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

              3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 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+ 你创建的文件名 才可以运行成功

              Node.js入门基础—day01,在这里插入图片描述,第4张Node.js入门基础—day01,在这里插入图片描述,第5张

              模块化编程

              什么是模块化?

              根据功能或业务将一个大程序拆分成互相依赖的小文件,再用简单的方式拼装起来

              为什么模块化?

              无模块化问题所有script 标签必须保证顺序正确,否则会依赖报错

              全局变量存在命名冲突,占用内存无法被回收

              IIFE/namespace 会导致代码可读性低等诸多问题

              非模块化的弊端?

              1. 命名冲突
              2. 文件依赖

                Node.js入门基础—day01,在这里插入图片描述,第6张

              模块化开发的优点?

              1.提高了代码的重用性和可维护性

              2.避免了命名冲突

              3.Node.js 支持模块的热替换(Hot Module Replacement),这意味着在运行时可以替换或更新模块,而无需重启整个应用。

              4.提供了更好的封装性

              Node.js的核心模块

              Node.js入门基础—day01,在这里插入图片描述,第7张

              Node.js全局函数

              Node.js入门基础—day01,在这里插入图片描述,第8张

              Node.js的全局变量console

              Node.js入门基础—day01,在这里插入图片描述,第9张

              Node.js的模块加载机制

              Node.js会依次在内置模块、全局模块和当前模块下查找引入的内容。

              Node.js入门基础—day01,在这里插入图片描述,第10张