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

Node二、Node.js 模块化、es6 软件包、Express - 框架

一、Node.js 模块化

在Nodejs中,每个文件都被视为一个单独的模块。

支持 2 种模块化标准 CommonJS 标准语法(默认) ECMAScript 标准语法
模块名或路径:
内置模块:直接写名字(例如:fs,path,http)
自定义模块:写模块文件路径(例如:./utils.js)

1.CommonJS

1. 导出:module.exports = {  }
2. 导入:require('模块名或路径')
模块之间联系:使用特定语法, 导出 导入 使用

2.ECMAScript (es6)

注意:Node.js 默认支持 CommonJS ,使用 ECMAScript 标准语法需要在运行模块所在文件夹新建 package.json 文件,并设置 { "type" : "module" }

默认导入导出

1. 导出:export default {}
const baseURL ='http://hmajax.itheima.net'
const getArraysum = arr => arr.reduce((sum, val) => sum += val, 0)
export default{
对外属性名1:baseURL,
对外属性名2:getArraySum
}
2. 导入:import 变量名 from '模块名或路径'
importobjfrom‘模块名或路径"
//obj就等于 export default 导出的对象

按需导入和导出

命名导出和导入

1. 导出:export 修饰定义语句

export const baseURL = 'http://hmajax.itheima.net'
export const getArraysum = arr => arr.reduce((sum, val) => sum += val, 0)
2. 导入:import { 同名变量 } from '模块名或路径‘
import{ baseURL,getArraySum }from'模块名或路径'
//baseURL 和 getArraySum 是变量,值为模块内命名导出的同名变量的值

二、软件包

包:将 模块,代码,其他资料 聚合成一个文件夹
包分类 项目包:编写项目和业务逻辑 ,软件包 封装工具和方法 进行使用

package.json记录包的清单信息

根目录中,必须有 package.json 文件记录 软件包的名字 ,作者, 入口 文件等信息
导入一个包文件夹的时候  默认 导入的是index.js 文件 ,或者 main 属性指定的文件

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

1. 当项目中只有 package.json 没有 node_modules
就执行 npm i 安装所有依赖软件包
2. 为什么 node_modules 不进行传递: 因为用 npm 下载比磁盘传递要快
/**
 * 目标:安装所有依赖软件包
 * 场景:一般拿到别人的项目后,只有 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.jsonnpm init  -y
下载本地软件包npm  i  软件包名
下载全局软件包npm i 软件包名 -g
删除软件包npm  uni  软件包名


http://www.kler.cn/a/449351.html

相关文章:

  • JavaScript中函数调用时的参数传递
  • LLaMA-Factory(二)界面解析
  • SRE 与 DevOps记录
  • 增量训练(持续学习)
  • 小白考研历程:跌跌撞撞,起起伏伏,五个月备战历程!!!
  • Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • FastStone 10.x 注册码
  • springboot分布式id,基于snowflake的分布式统一id生成工具
  • 协作机器人做“按摩理疗”,机器人如何感知力度呢?
  • GoCD 持续集成和部署工具配置指南(CentOS 7)
  • Kafka常用集群配置参数
  • 精确与高效:二分查找的完整指南
  • Jenkins引发的多jdk设置问题
  • [AI]解释 Git 的基本概念和使用方式
  • FreeSWITCH的API与APP详解
  • 技术速递|使用 Dependabot 管理 .NET SDK 更新
  • C语言初阶习题【15】猜数字游戏
  • 数字孪生技术在智慧园区管理平台中的应用
  • [AIGC知识] layout理解
  • istio-proxy不打印访问日志怎么解决?
  • 最长公共子序列【东北大学oj数据结构10-3】C++
  • 我的PHP学习之路:经验分享与建议
  • leetcode-15.三数之和-day15(debug中...)
  • 【PythonGui实战】自动摇号小程序
  • 数据结构与算法学习笔记----质数
  • Rocky DEM tutorial6_High pressure grinding roll_高压辊磨机