Node.js 后端基础知识 — 个人笔记


1. 包

包=现成的代码库(使用npm安装)

用于避免从头开始编写所有内容。

示例:

*快递→服务器banane ke liye

  • bcrypt → 密码哈希
  • jsonwebtoken → 身份验证
  • 猫鼬 → 数据库连接

安装:

1
npm install express

定义:

包是通过 npm 分发的可重用模块的集合。


2. 模块(Node.js 文件)

模块 = ek 单文件 jisme 特定 kaam ka 代码 hota hai

Project ko parts mein tod dete hain:

  • 服务器.js
  • 数据库.js
  • 用户控制器.js
  • 验证.js

har 文件 ek 模块 hai.


3. require() 与 import

要求 进口
旧的 Node 系统 (CommonJS) 现代 JS 系统(ES 模块)
默认节点行为 “类型”:“模块”
同步 静态/现代

启用导入:

1
2
3
{
"type": "module"
}

4. module.exports(核心概念)

节点内部 har 文件 ko aise treat karta hai:

1
2
const module = { exports: {} };
return module.exports;

require(file) = module.exports ka 返回值

单次导出

1
2
function add(a,b){ return a+b }
module.exports = add;

多次导出

1
2
3
function add(a,b){ return a+b }
function sub(a,b){ return a-b }
module.exports = { add, sub };

5. exports vs module.exports

Start mein:

1
exports === module.exports

属性添加卡纳(OK)

1
exports.add = fn

替换卡纳(galat)

1
2
exports = fn ❌
module.exports = fn ✅

规则:

  • 多个cheezain →exports.xyz
  • 单奶酪 → module.exports = …

6.package.json

ka项目控制面板/身份证

巴塔塔海:

  • 依赖项 kya chahiye
  • 脚本 kya hain
  • ka naam 项目

示例:

1
2
3
4
5
{
"dependencies": {
"express": "^4.18.2"
}
}

含义:

Express 版本 4 ka 兼容 koi bhi chalega


7. package-lock.json

确切的安装版本和快照

保证 karta hai ke har 机器 pe 相同的软件包安装 hon。


简单区别

  • package.json → kya chahiye
  • package-lock.json → 正是 kya mila

黄金法则(重要)

  1. require() 总是返回 module.exports
  2. 归档私人hoti hai jab tak导出na karo
  3. module.exports最终返回值hoti hai
    4.锁定文件删除nahi karni
  4. 包 = 外部代码,模块 = apni 文件

注释结束