实用科技屋
霓虹主题四 · 更硬核的阅读氛围

框架和库的区别:别再傻傻分不清了

发布时间:2025-12-13 12:08:22 阅读:447 次

写代码的时候,总听人说“用这个框架”“调那个”,听起来好像差不多,其实差别大着呢。搞不清框架和库的区别,就像分不清厨房和菜谱——一个是你干活的地方,一个是你参考的步骤。

库:你想用就用的工具箱

库(Library)就像你电脑里装的一堆小工具。比如你想处理图片,就去调用一个图像处理的库;想发个网络请求,就用一个网络库。它不强迫你怎么写代码,只是在你需要的时候,提供现成的功能。

举个例子,你在写一个记事本程序,想把文字转成 PDF,这时候你就可以引入一个叫 pdf-lib 的库,调个函数就行:

const { PDFDocument } = require('pdf-lib');

const pdfDoc = await PDFDocument.create();
const page = pdfDoc.addPage();
page.drawText('Hello, 世界!');
const pdfBytes = await pdfDoc.save();

你看,你还是整个程序的“老大”,决定什么时候、在哪里用这个功能。

框架:你得按它的规矩来

框架(Framework)就不一样了,它是整套流程都给你安排好了。你不是在自由发挥,而是在它的地盘上干活。比如你用 React 写前端,就得按它的组件结构来组织代码;用 Django 做网站,就得遵循它的项目目录和路由规则。

这就像你要开一家连锁奶茶店,总部已经把装修、菜单、操作流程全设计好了,你得照着做,不能自己乱改。好处是省事、统一、不容易出错,坏处是灵活性差一点。

比如用 Express 框架写一个接口:

const express = require('express');
const app = express();

app.get('/hello', (req, res) => {
  res.send('你好,世界!');
});

app.listen(3000);

这段代码跑起来后,整个程序的控制权其实在 Express 手里。你写的路由只是“塞”进去了,真正决定什么时候执行的是框架本身。

一句话分清:谁调用谁?

有个简单的判断方法:如果你在调用别人,那就是在用库;如果是别人在调用你的代码,那就是在用框架。

比如你写了个函数 generateReport(),然后你自己在主程序里调它,这是常规写法。但如果你把它注册到某个系统里,系统在特定时间自动调用它——那你就是在配合一个框架工作。

现实开发中,经常是库和框架混着用。比如你用 Vue 框架搭页面(框架),里面又用了 Axios 库发请求(库)。各司其职,效率才高。