当前位置: 首页 > article >正文

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.kler.cn/a/523061.html

相关文章:

  • 【漫话机器学习系列】064.梯度下降小口诀(Gradient Descent rule of thume)
  • windows lm studio 0.3.8无法下载模型,更换镜像
  • Nginx 开发总结
  • Java基础知识总结(二十七)--Jdk5.0新特性:
  • LLM评估优化与新技术创新综述
  • 【第十天】零基础入门刷题Python-算法篇-数据结构与算法的介绍-两种常见的字符串算法(持续更新)
  • 解决Gradle引入依赖时报错 Caused by: java.io.FileNotFoundException问题
  • CTF-web: YAML是什么
  • 元宇宙与Facebook:社交互动的未来方向
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • 相互作用感知的蛋白-小分子对接模型 - Interformer 评测
  • 算法题(50):删除排序链表中的重复元素 II
  • ML基础——分类模型的评估指标
  • STM32 TIM定时器配置
  • 虚幻基础08:组件接口
  • 在ubuntu下一键安装 Open WebUI
  • 能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。
  • 宝塔安装完redis 如何访问
  • 信息学奥赛一本通 1396:病毒(virus)
  • c++多态
  • JavaScript逆向高阶指南:突破基础,掌握核心逆向技术
  • Nginx 开发总结
  • 《网络数据安全管理条例》施行,企业如何推进未成年人个人信息保护(上)
  • 深入探索C++17的std::any:类型擦除与泛型编程的利器
  • STM32 LED呼吸灯
  • pycharm(2)