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端口监听中...');
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值