Node.js入门基础—day01

个人名片:

😊作者简介:一名大二在校生
🤡 个人主页:坠入暮云间x
🐼
座右铭:给自己一个梦想,给世界一个惊喜。
🎅**学习目标: 坚持每一次的学习打卡

文章目录

初识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 -Vnpm -v ,如下图所示,安装成功则显示版本号,如果报错则说明没有安装成功,可以官网node.js中重新下载

终端中的快捷键:

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

● 使用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

javascript 复制代码
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 文件输入如下代码

javascript 复制代码
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. 文件依赖

模块化开发的优点?

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

2.避免了命名冲突

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

4.提供了更好的封装性

Node.js的核心模块

Node.js全局函数

Node.js的全局变量console

Node.js的模块加载机制

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

相关推荐
GIS之路5 小时前
GDAL 实现矢量裁剪
前端·python·信息可视化
是一个Bug5 小时前
后端开发者视角的前端开发面试题清单(50道)
前端
Amumu121385 小时前
React面向组件编程
开发语言·前端·javascript
持续升级打怪中6 小时前
Vue3 中虚拟滚动与分页加载的实现原理与实践
前端·性能优化
GIS之路6 小时前
GDAL 实现矢量合并
前端
hxjhnct6 小时前
React useContext的缺陷
前端·react.js·前端框架
前端 贾公子6 小时前
从入门到实践:前端 Monorepo 工程化实战(4)
前端
菩提小狗6 小时前
Sqlmap双击运行脚本,双击直接打开。
前端·笔记·安全·web安全
前端工作日常6 小时前
我学习到的AG-UI的概念
前端
韩师傅6 小时前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端