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会依次在内置模块、全局模块和当前模块下查找引入的内容。

相关推荐
码事漫谈4 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
这儿有一堆花4 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
.Cnn4 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
醉酒的李白、5 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
anOnion5 小时前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
NotFound4865 小时前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python
徐小夕5 小时前
PDF无限制预览!Jit-Viewer V1.5.0开源文档预览神器正式发布
前端·vue.js·github
WangJunXiang66 小时前
Haproxy搭建Web群集
前端
吴声子夜歌6 小时前
Vue.js——自定义指令
前端·vue.js·flutter
小芝麻咿呀6 小时前
vue--面试题第一部分
前端·javascript·vue.js