一、Node.js 模块化
在Nodejs中,每个文件都被视为一个单独的模块。
1.CommonJS

2.ECMAScript (es6)
注意:Node.js 默认支持 CommonJS ,使用 ECMAScript 标准语法需要在运行模块所在文件夹新建 package.json 文件,并设置 { "type" : "module" }
默认导入导出
const baseURL ='http://hmajax.itheima.net'
const getArraysum = arr => arr.reduce((sum, val) => sum += val, 0)
export default{
对外属性名1:baseURL,
对外属性名2:getArraySum
}
importobjfrom‘模块名或路径"
//obj就等于 export default 导出的对象
按需导入和导出
命名导出和导入
1. 导出:export 修饰定义语句
export const baseURL = 'http://hmajax.itheima.net'
export const getArraysum = arr => arr.reduce((sum, val) => sum += val, 0)
import{ baseURL,getArraySum }from'模块名或路径'
//baseURL 和 getArraySum 是变量,值为模块内命名导出的同名变量的值
二、软件包
package.json记录包的清单信息

npm - 软件包管理器
npm 是 Node.js 标准的软件包管理器。作用:下载软件包以及管理版本
(重点)使用npm下载软件包
1.初始化清单文件:npm init -y(得到 package.json 文件,有则略过此命令)
2.下载软件包:npm i 软件包名称
3.使用软件包
(下载的包会存放在当前项目下的 node_modules 中,并记录在 package.json 中)
/*** 目标:使用 npm 下载 dayjs 软件包来格式化日期时间* 1. (可选)初始化项目清单文件,命令:npm init -y* 2. 下载软件包到当前项目,命令:npm i 软件包名称* 3. 使用软件包*/// 模块名 or 路径?
// 自己写的模块就写路径, 其他情况都是模块名(内置的 / 下载的)
const dayjs = require('dayjs')//当前的日期
const res = dayjs().format('YYYY-MM-DD')console.log(res)
npm - 安装所有依赖 npm i
/*** 目标:安装所有依赖软件包* 场景:一般拿到别人的项目后,只有 package.json 缺少 node_modules 时需要做* 语法:在当前项目终端下,输入命令:npm i* 效果:会根据 package.json 记录的所有包和版本开始下载*/// 格式化日期
const dayjs = require('dayjs')
const nowDateStr = dayjs().format('YYYY-MM-DD')
console.log(nowDateStr)// 求数组里最大值
const _ = require('lodash')
console.log(_.max([1, 2, 8, 3, 4, 5]))
npm - 全局软件包 nodemon
常用命令
功能 | 功能 |
执行js 文件 | node xxx |
初始化 package.json | npm init -y |
下载本地软件包 | npm i 软件包名 |
下载全局软件包 | npm i 软件包名 -g |
删除软件包 | npm uni 软件包名 |