笔记:Node

这篇笔记介绍了Node.js的环境管理工具nvm,包管理工具npm和yarn的使用,包括安装、发布包及管理依赖。同时讲解了package.json文件的作用和scripts钩子。还涉及了CommonJS模块系统,事件循环,以及Node.js内置模块如fs、http等。最后提到了Express框架和中间件的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Node与包管理工具

nvm

①nvm用于管理多个版本的Node环境。
②安装Node
③设置淘宝镜像源。

npm install -g cnpm --registry=https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org

package.json

package.json是包描述文件,也用于配置项目的其他功能。
scripts内置了钩子,在包安装或卸载时执行。也可以设置输入命令行执行指定脚本文件。

{
  "scripts": {
    "preinstall": "1.js",
    "install": "2.js",
    "uninstall": "3.js"
  } 
}

npm

npm -v  				# 查看当前NPM版本
npm init -y 			# 生成包描述文件
npm install 			# 根据包描述文件自动安装依赖包
npm i -g '依赖包名' 		# 安装全局依赖包
npm i -D '依赖包名' 		# 安装开发依赖包
npm publish '路径' 		# 发布依赖包
npm ls 					# 列出所有安装的依赖包

yarn

lerna

CommonJS

模块暴露和引用

const moduleName = require('模块名或路径');
module.exports = {}

模块机制
①模块是在运行时动态加载的,经历路径分析、文件定位和编译执行三个步骤,每个模块都是一个对象。
②路径分析时,Node会沿着路径向上逐级递归查找node_modules中是否存在该模块。
③文件定位时,分析路径是文件还是目录,并补全文件的扩展名。
④编译执行时,Node会将JS文件内容进行包装,引入全局变量,隔离作用域。

(function (exports, require, module, __filename, __dirname) {'JS文件内容'}); 

事件循环

setTimeout()
setInterval()
setImmediate()
process.nextTick()

内置模块

fs
os
path
crypto
http与https
stream

常用其他模块

Express
①创建应用对象,创建路由规则,其中requestresponse是对请求报文和响应报文的封装,监听端口启动服务。

const express = require('express');
const app = express();
app.get('/', (request, response) => {
	// 设置响应头
	response.setHeader('Access-Controll-Allow-Origin', '*');
	// 设置响应体
	response.send('data');
});
app.post ('/', (request, response) => {
	// 设置响应头
	response.setHeader('Access-Controll-Allow-Origin', '*');
	// 设置响应体
	response.send('data');
});
app.listen(8000, ()=> {console.log('服务启动')});

②启动服务器

node xxx.js

中间件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我才是真的李成贤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值