Node.js基础

浏览器知识

  • 浏览器

    • 个浏览器都内置了DOM、BOM等API函数,供浏览器中的Javascript调用。

    • 每个浏览器都有对应的JavaScript解析引擎。

  • 浏览器中的JavaScript环境

    • V8引擎负责解析和执行JavaScript代码

    • 内置API是由运行环境提供的特殊接口,只能在所属的运行环境中被调用

Node.js简介
  • 概念

    • Node.js 是一个基于Chrome V8 JavaScript 引擎 的开源运行时环境,允许开发者在服务器端使用 JavaScript 进行编程。

    • 它使得 JavaScript 不仅仅局限于浏览器端,而是可以在服务器上运行。

  • Node.js运行环境

    • 浏览器是JavaScript的前端运行环境

    • Node.js是JavaScript的后端运行环境

  • 用处

    • 基于Express框架,可快速构建Web应用

    • 基于Electron框架,可构建跨平台的桌面应用

    • 基于restify框架,可以快速构建API接口项目

    • 读写和操作数据库,创建实用的命令行工具辅助前端开发

  • 学习路径

    1. JavaScript基础语法

    2. Node.js内置模块(fs,path,http)

    3. 第三方API模块(express,mysql等)

  • Node.js终端命令

    • node -v #查看版本信息

    • node file.js #执行js文件中的代码

  • fs文件系统模块

    • fs.readFile()方法,读取指定文件中的内容

      • 参数1:必选,文件路径

      • 参数2:可选,读取文件的编码格式

      • 参数3:必选,回调函数,通过回调函数获取读取的结果

    • fs.writeFile()方法,用来向指定的文件中写入内容

      • 参数1:必选,文件存放路径的字符串

      • 参数2:必选,写入的内容

      • 参数3:可选,文件内容写入格式

      • 参数4:必选,文件写入完成后的回调函数

        注意:

        • fswriteFile()方法只能用来创建文件,不能用来创建路径

        • 重复调用fswriteFile()方法写入同一个文件,新写入的内容会覆盖之前的旧内容

    • fs模块-动态路径拼接j的问题:代码在执行时,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。(node命令所处路径+相对文件路径)

      • 解决方案1:直接提供完整的路径

      • 解决方案2:__dirname(表示当前文件所处目录)+相对文件路径

  • path路径模块

    • path.joint(),将多个路径片段拼接成完整的路径字符串

      注意:涉及路径拼接的操作,使用path.joint()方法进行处理,不要直接使用+进行字符拼接

    • path.basename(),用于从路径字符串中,将文件名解析出来

      • path<string>必选参数:表示一个路径的字符串

      • ext<string>可选参数,表示文件扩展名

      • 返回<string>表示路径中的最后一部分

    • path.extname()方法,获取路径中的扩展名部分

      • path<string>必选参数,表示一个路径的字符串

      • 返回<string>返回得到的扩展名字符串

  • http模块

    • 作用:创建web服务器的模块,使用http.createServer()方法创建服务器软件,提供web服务

    • 理解:通过安装Apache、Nginx等服务器软件就能把一台普通的电脑变成一台web服务器。

    • 创建web服务器的基本步骤

      1. 导入http模块,使用require(‘http’)

      2. 创建web服务器实例,使用http.createServer()方法

      3. 为服务器绑定request事件,监听客户端的请求,使用.on()方法

      4. 启动服务器,listen(端口号,cb回调),启动web服务器

      5. 解决中文乱码问题,当调用res.end()方法向客户端发送中文内容的时候,会出现乱码问题,此时需要手动设置内容的编码格式

      6. 实例:动态响应内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8964.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【漫话机器学习系列】066.贪心算法(Greedy Algorithms)

贪心算法&#xff08;Greedy Algorithms&#xff09; 贪心算法是一种逐步构建解决方案的算法&#xff0c;每一步都选择当前状态下最优的局部选项&#xff08;即“贪心选择”&#xff09;&#xff0c;以期望最终获得全局最优解。贪心算法常用于解决最优化问题。 核心思想 贪心选…

WPF基础 | WPF 常用控件实战:Button、TextBox 等的基础应用

WPF基础 | WPF 常用控件实战&#xff1a;Button、TextBox 等的基础应用 一、前言二、Button 控件基础2.1 Button 的基本定义与显示2.2 按钮样式设置2.3 按钮大小与布局 三、Button 的交互功能3.1 点击事件处理3.2 鼠标悬停与离开效果3.3 按钮禁用与启用 四、TextBox 控件基础4.…

GD32的GD库开发

所有的Cortex-M处理器都有相同的SysTick定时器&#xff0c;因为CMSIS-Core头文件中定义了一个名为SysTick的结构体。 这个定时器可以用作延时函数&#xff0c;不管是STM32的芯片还是GD32&#xff0c;AT32的芯片&#xff0c;delay函数都可以这么写&#xff0c;只要它是cortex-M…

跨域问题及解决方案

跨域问题不仅影响开发效率&#xff0c;还可能导致项目进度延误。因此&#xff0c;理解和掌握跨域问题的原理及其解决方案对于前端开发者和后端开发者来说都至关重要。本文将详细介绍什么是跨域、跨域产生的原因&#xff0c;以及常见的后端跨域解决方案。 文章目录 一、什么是跨…

MoE的学习

1.MoE的介绍 混合专家模型&#xff08;Mixture of Experts&#xff0c;MoE&#xff09;是一种先进的神经网络架构&#xff0c;旨在通过整合多个模型或“专家”的预测来提升整体模型性能。MoE模型的核心思想是将输入数据分配给不同的专家子模型&#xff0c;然后将所有子模型的输…

c++学习第十四天

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考。 //力扣代码 class Solution {const char* numStrArr[10]{"","","abc","def","ghi","jkl","mno","pqrs","tuv&q…

【deepseek】deepseek-r1本地部署-第二步:huggingface.co替换为hf-mirror.com国内镜像

一、背景 由于国际镜像国内无法直接访问&#xff0c;会导致搜索模型时加载失败&#xff0c;如下&#xff1a; 因此需将国际地址替换为国内镜像地址。 二、操作 1、使用vscode打开下载路径 2、全局地址替换 关键字 huggingface.co 替换为 hf-mirror.com 注意&#xff1a;务…

循序渐进kubernetes-RBAC(Role-Based Access Control)

文章目录 概要Kubernetes API了解 Kubernetes 中的 RBACRoles and Role Bindings:ClusterRoles and ClusterRoleBindings检查访问权限&#xff1a;外部用户结论 概要 Kubernetes 是容器化应用的强大引擎&#xff0c;但仅仅关注部署和扩展远远不够&#xff0c;集群的安全同样至…

思维练习题

目录 第一章 假设法1.题目1. 如何问问题2. 他们的职业是分别什么3. 谁做对了4. 鞋子的颜色 2.答案 空闲时间写一些思维题来锻炼下思维逻辑&#xff08;题目均收集自网上&#xff0c;分析推理为自己所写&#xff09;。 第一章 假设法 一个真实的假设往往可以让事实呈现眼前&…

HarmonyOS:创建应用静态快捷方式

一、前言 静态快捷方式是一种在系统中创建的可以快速访问应用程序或特定功能的链接。它通常可以在长按应用图标&#xff0c;以图标和相应的文字出现在应用图标的上方&#xff0c;用户可以迅速启动对应应用程序的组件。使用快捷方式&#xff0c;可以提高效率&#xff0c;节省了查…

深入探索C++17的std::any:类型擦除与泛型编程的利器

文章目录 基本概念构建方式构造函数直接赋值std::make_anystd::in_place_type 访问值值转换引用转换指针转换 修改器emplaceresetswap 观察器has_valuetype 使用场景动态类型的API设计类型安全的容器简化类型擦除实现 性能考虑动态内存分配类型转换和异常处理 总结 在C17的标准…

DeepSeek-R1 蒸馏模型及如何用 Ollama 在本地运行DeepSeek-R1

在人工智能飞速发展的领域中&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的出现可谓是一项重大变革。在这些模型里&#xff0c;DeepSeek - R1 及其蒸馏模型备受瞩目&#xff0c;它们融合了独特的能力与高可用性。今天我们一起聊一下 DeepSeek - R1 蒸馏模型究竟是什么…

机器学习day3

自定义数据集使用框架的线性回归方法对其进行拟合 import matplotlib.pyplot as plt import torch import numpy as np # 1.散点输入 # 1、散点输入 # 定义输入数据 data [[-0.5, 7.7], [1.8, 98.5], [0.9, 57.8], [0.4, 39.2], [-1.4, -15.7], [-1.4, -37.3], [-1.8, -49.1]…

java多线程学习笔记

文章目录 关键词1.什么是多线程以及使用场景?2.并发与并行3.多线程实现3.1继承 Thread 类实现3.2Runnable 接口方式实现3.3Callable接口/Future接口实现3.4三种方式总结 4.常见的成员方法&#xff08;重点记忆&#xff09;94.1setName/currentThread/sleep要点4.2线程的优先级…

无耳科技 Solon v3.0.7 发布(2025农历新年版)

Solon 框架&#xff01; Solon 框架由杭州无耳科技有限公司&#xff08;下属 Noear 团队&#xff09;开发并开源。是新一代&#xff0c;面向全场景的 Java 企业级应用开发框架。从零开始构建&#xff08;非 java-ee 架构&#xff09;&#xff0c;有灵活的接口规范与开放生态。…

Redis常用命令合集【一】

1.Redis常用命令 Redis是典型的key-value数据库&#xff0c;key一般是字符串&#xff0c;而value包含很多不同的数据类型&#xff1a; Redis为了方便我们学习&#xff0c;将操作不同数据类型的命令也做了分组&#xff0c;在官网&#xff08; https://redis.io/commands &#…

python学opencv|读取图像(四十八)使用cv2.bitwise_xor()函数实现图像按位异或运算

【0】基础定义 按位与运算&#xff1a;两个等长度二进制数上下对齐&#xff0c;全1取1&#xff0c;其余取0。 按位或运算&#xff1a;两个等长度二进制数上下对齐&#xff0c;有1取1&#xff0c;其余取0。 按位取反运算&#xff1a;一个二进制数&#xff0c;0变1,1变0。 按…

docker 学习笔记

一、docker容器快速上手以及简单操作 docker的image和container image镜像 docker image就是一个read.only文件&#xff0c;可以理解成一个模版&#xff0c;docker image具有分层的概念 可以自己制作&#xff0c;也可以从registry拉去 container容器 一个运行中的docker …

【PyTorch】5.张量索引操作

目录 1. 简单行、列索引 2. 列表索引 3. 范围索引 4. 布尔索引 5. 多维索引 个人主页&#xff1a;Icomi 在深度学习蓬勃发展的当下&#xff0c;PyTorch 是不可或缺的工具。它作为强大的深度学习框架&#xff0c;为构建和训练神经网络提供了高效且灵活的平台。神经网络作为…

穿心莲内酯(andrographolide)生物合成CYP72-文献精读106

Two CYP72 enzymes function as Ent-labdane hydroxylases in the biosynthesis of andrographolide in Andrographis paniculata 两种CYP72酶在穿心莲&#xff08;Andrographis paniculata&#xff09;中作为Ent-labdane羟化酶&#xff0c;在穿心莲内酯&#xff08;andrograp…