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

12.22

node.js   19-39

## 模块

```

分类

1.内置模块(node.js提供  像fs,path,http)

2.自定义模块

3.第三方模块

加载模块

使用require()加载其他模块时 会执行被加载模块中的代码

在加载自定义模块可以省略后缀名

模块作用域

1.在自定义模块中定义的变量或者函数 只能在当前模块被访问   防止全局变量污染

2.在每个.js自定义模块中都有一个module对象 存储了与当前模块有关的信息

3.module.exports 将模块成员共享出去 外界用require()导入自定义模块 得到module.exports指向的对象(默认是空对象)

4.永远以module.exports指向的对象为准

const age = 90
module.exports.username = 'hhh'
module.exports.sayhi = () => {
    console.log('hello')
}
//指向一个新对象 模块时调用时打印的是这个新对象 而不是上面的 永远以module.exports指向的对象为准
module.exports = {
    nickname: '小黑',
    sayhi() {
        console.log('kkk')
    }
}
const a = require('./自定义模块1')
console.log(a)

1.第三方模块就是包  基于内置模块封装出来的

2.npm :包管理工具 装包:npm i + 包名称

3.node_modules用来存放所有已安装到项目中的包 package-lock.json记录每一个包下载的信息

4.在项目根目录中 创建package.json配置文件(在项目根目录创建在终端执行  npm init -y 命令) 记录装了那些包

项目名称一定要英文 不要中文和空格

一定要把node_modules文件夹添加到.gitignore忽略文件中

5.下载全部的包执行 npm i  卸载包 npm uninstall+包名称

6.查看所有所用镜像源 nrm ls  切换镜像源 nrm use +名称

7.包的分类  

项目包(安装到node_modules中):开发依赖包(只在开发期用到 安装npm i 包名 -D)

       核心依赖包

全局包(npm install -g)

```

## 模块的加载机制

```

1.内置模块加载优先级最高

2.自定义模块加载:必须指定./ ../开头路径

  再导入自定义模块时,忽略文件扩展名 node.js会按照以下顺序加载:确切文件名 .js .json .node

3.第三方模块加载

```

express 

//1.引入
const express = require('express');
const { process_params } = require('express/lib/router');
//2.创建应用对象
const app = express(); 
//3.创建路由规则
//request 是请求报文的封装 response同理
app.get('/', (request,response) => {
    //设置响应
    response.send('HELLO EXPRESS');
})
//4.监听端口启动服务
app.listen(8000, () => {
    console.log('服务已经启动,8000端口监听中...');
})

相关文章:

  • 转行大数据,编程学Java还是Python?
  • Java 位运算
  • 非公用网络在工业互联网中的部署方案探讨
  • 小红书怎么高效找达人?方法不对导致耗时又不适合
  • java: 无效的目标发行版: 17 新建springBoot项目
  • Polygon zkEVM发布公开测试网2.0
  • 如何在 JavaScript 中格式化日期?
  • 安全网络身份认证系统的设计与实现
  • SOLIDWORKS Electrical 2023新功能揭秘!提高电气工程师设计效率 与机械工程师协同设计
  • 【Java入门基础第10天】Java常用的转义字符
  • URLLC典型应用建模与评估
  • Java反射和new效率差距有多大?
  • 用 Python 制作各种用途的二维码
  • Java项目:springboot电影推荐网站
  • 人脸检测和对齐算法MTCNN
  • 【学习笔记】前端HTML+CSS部分必懂基础内容(面试考察重点)
  • 【架构师(第五十二篇)】 几个前端工具的基本使用
  • 关于为什么要做量化白皮书这件事
  • 韩顺平java-枚举和注解异常包装类
  • Web3中文|可判115年监禁的FTX创始人SBF即将被引渡到美国