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文件
需求

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

相关推荐
猫头虎-前端技术1 小时前
浏览器兼容性问题全解:CSS 前缀、Grid/Flex 布局兼容方案与跨浏览器调试技巧
前端·css·node.js·bootstrap·ecmascript·css3·媒体
切糕师学AI3 小时前
前后端分离架构中,Node.js的底层实现原理与线程池饥饿问题解析
前端·vue.js·node.js
ningmengjing_4 小时前
webpack打包方式
前端·爬虫·webpack·node.js·逆向
Yuner20004 小时前
Webpack开发:从入门到精通
前端·webpack·node.js
大虾写代码13 小时前
nvm和nrm的详细安装配置,从卸载nodejs到安装NVM管理nodejs版本,以及安装nrm管理npm版本
前端·npm·node.js·nvm·nrm
EndingCoder14 小时前
Electron 跨平台兼容性:处理 OS 差异
前端·javascript·electron·前端框架·node.js·chrome devtools
艾小码1 天前
手把手教你实现一个EventEmitter,彻底告别复杂事件管理!
前端·javascript·node.js
前端小哲1 天前
MCP从入门到实战
node.js·ai编程