【青训营】- Node.js基础入门笔记2

简介: 【青训营】- Node.js基础入门笔记2

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

模块化机制

CommonJS规范

  • 加载方式
  1. 加载内置模块require('fs')
  2. 加载相对或绝对路径的文件模块require('/User/...')
  3. 加载npm包 require('lodash')
  • npm包查找原则
  1. 当前目录的node_modules文件夹
  2. 如果没有,沿着路径向上递归,直到根目录下的node_modules
  3. 找到之后会加载package.json 中main属性指向的文件,如果没有package.json则依次查找index.js、index.json、index.node
  • require.cache

require.cache中缓存着加载过的模块,缓存的原因:同步加载。

  1. 文件模块查找比较耗时,如果每次require都需要重新遍历查找,性能会比较差。
  2. 在实际开发中模块可能包含副作用代码。

其他模块化规范

  • AMD是RequireJS在推广过程中规范化产出,异步加载,推崇依赖前置。
  • CMD是SeaJS在推广过程中规范化产出,异步加载,推崇就近依赖。
  • UMD规范,兼容AMD和CommonJS模式。
  • ES Modules,语言层面的模块化规范,与环境无关,可借助babel编译。

包管理机制

npm是Node.js中的包管理其,提供了安装、删除等其他命令来管理包。

  • 常用命令
npm init
npm config
npm run
npm install 
npm uninstall
npm update
npm publish
复制代码

异步编程

Promise

Promise是一个具有四个状态的有限状态机,其中三个核心状态为pending,fulfilled、rejected以及还有一个未开始的状态。

Web应用开发

HTTP模块

搭建一个最简单的HTTP服务,可以通过Node.js内置的HTTP模块。

KOA介绍

Koa是基于Node.js平台的下一代Web开发框架,Koa它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手,不在内核方法中绑定任何中间件。下面介绍下执行过程。

  • 服务启动
  • 实例化application
  • 注册中间件
  • 创建服务、监听端口
  • 接受/处理请求
  • 获取req/res对象
  • 执行中间件
  • 输出设置到ctx.body上的内容
相关文章
|
2月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
556 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
48 0
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
111 1
|
1月前
|
自然语言处理 JavaScript 前端开发
[JS]同事看了我做的this笔记,直摇头,坦言:我还是参考启发博文吧
本文介绍了JavaScript中`this`关键字的重要性和使用规则。作者回顾了早期笔记,总结了`this`指向的各种情况,并分享了最新的理解。文章强调了`this`在不同上下文中的指向,包括对象方法、全局函数、箭头函数等,并提供了改变`this`指向的方法。适合JavaScript开发者参考。
48 2
|
1月前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
40 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
1月前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
87 10
|
1月前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
3月前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
3月前
|
JavaScript 前端开发 Java
JavaScript笔记(回顾一,基础知识篇)
JavaScript基础知识点回顾,包括语言定义、ECMAScript规范、字面量、变量声明、操作符、关键字、注释、流程控制语句、数据类型、类型转换和引用数据类型等。
JavaScript笔记(回顾一,基础知识篇)
|
2月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战