node.js

前端工程化:开发项目直到上线,过程中集成的所有工具和技术

Node.js是独立执行JavaScript代码的环境

Node.js环境比浏览器环境中的JS少了BOM和DOM

fs模块-读写文件

模块:类型插件,封装了方法/属性

fs模块:封装了与本机文件系统进行交互的方法/属性

语法:

  • 加载fs模块对象
  • 写入文件内容
  • 读取文件内容

CommonJS标准

需求:定义utils.js模块,封装基地址和求数组总和的函数

使用:

  • 导出:module.exports={}
  • 导入:require('模块名或路径')

模块名或路径:

内置模块:直接写名字(例如:fs,path,http)

自定义模块:写模块文件路径(例如:./utils.js)

ECMAScript标准

默认导出和导入

默认标准使用:

  • 导出:export default{}
  • 导入:import 变量名 from '模块名或路径'

让Node.js切换模块标准为ECMAScript:

  • 运行模块所在的文件夹,新建package.json并设置{"type":"module"}

命名导出和导入

命名标准使用:

  • 导入:export 修饰定义语句
  • 导入:import {同名变量} from '模块名或路径'

包的概念

将模块,代码,其他资料聚合成一个文件夹

包的分类

项目包:用户编写项目和业务逻辑

软件包:封装工具和方法进行使用

要求:根目录中,必须有package.json文件(记录包的清单信息)

注意:导入软件包时,引入的默认是index.js模块文件/main属性指定的模块文件

需求:封装数据求和函数的模块,判断用户名和密码长度函数的模块,形成一个软件包

{

"name":"cz_utils", //软件包名称

"version":"1.0.0", //软件包当前版本

"description":"一个数组和字符串常用工具方法的包", //软件包简短描述

"main":"index.js", //软件包入口点

"author":"itherma", //软件包作者

"license":"MIT" //软件包许可证

}

npm

软件包管理器

npm是Node.js标准的软件包管理器,下载软件包以及管理版本

使用:

  • 初始化清单文件:npm init-y(得到package.json文件,有则略过此命令)
  • 下载软件包:npm i 软件包名称
  • 使用软件包

安装所有依赖

当前项目下,执行npm i安装所有依赖软件包

为什么用node_modules不进行传递:因为用npm下载比磁盘传递的快

全局软件包nodemon

软件包的区别
  • 本地软件包:当前项目内使用,封装属性和方法,存在于node_modules
  • 全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置
nodemon作用

替代node命令,检测代码更改,自动重启程序

使用
  • 安装:npm i nodemon -g(-g代表按照到全局环境中)
  • 运行:nodemon待执行的目标js文件
需求

启动准备好的项目,修改代码保存后,观察自动重启应用程序

相关推荐
laoli_coding7 小时前
如何配置HTTPS站点访问的免费SSL域名证书
网络协议·https·node.js·ssl
To_OC7 小时前
手写 AI 编程 Agent 的命令执行工具:我被 child_process 坑出来的实战经验
后端·node.js·agent
大家的林语冰15 小时前
👍 Rust 为 Node 插上翅膀,反超 Bun 和 pnpm,一体化工具我也有!
前端·javascript·node.js
Kel17 小时前
Node.js 本质:从全脉络视角理解运行时原理
javascript·设计模式·node.js
ShiXZ21319 小时前
指令集-NPM 常用指令速查手册
前端·npm·node.js
孟陬2 天前
高质量全方位的 AI 工具 sse-stuntman — Mock SSE 接口
前端·node.js·openai
掰头战士2 天前
你本地的LLM有时会胡乱使用tools?不妨用MCP规范LLM工具调用!
node.js·llm·全栈
触底反弹2 天前
🧠 LangChain Agent 入门:为什么直接调大模型 API 远远不够?
人工智能·node.js·llm
书中枫叶2 天前
从「上次几点喂奶」到全栈小程序:我做了个喂宝助手
mongodb·微信小程序·node.js
Asize2 天前
Node path 与 fs 模块:从回调地狱到 async await 的异步进化
javascript·node.js