中大型前端项目的工具聚合实践:统一出口,高效可维护
在中大型前端项目中,项目模块多、依赖复杂,如果每个文件都单独
import,不仅路径长,还容易乱。工具聚合是一种标准做法,让你的项目更清晰、更高效。
什么是工具聚合
工具聚合就是在一个统一入口文件中,把项目中常用的模块统一导出,例如:
// src/core/index.js
import router from "./router"
import utils from "./utils"
import request, { upload } from "./request"
import api from "../api"
import store from "./store"
export default {
router,
utils,
request,
upload,
api,
store
}
使用时 :
import $h from "@/core"
$h.router.push("/home")
$h.utils.formatDate(new Date())
$h.api.getUser()
优点
统一出口:所有常用模块只需从一个地方导入。
结构清晰:模块分层明确,不污染根目录。
易维护:新增模块只改聚合文件,业务层不动。
避免路径混乱:@/core 代替一堆 …/…/…/。
可分层:
/src
/core → router、store、request
/utils → 工具函数
/api → 接口
/behaviors → mixin/通用逻辑
index.js → 聚合出口
疑问
如果这个包下的不同模块之间有循环依赖, 会不会死循环?
不会 ! 循环依赖 !== 死循环
node模块在导入导出时有缓存, 有缓存时会读取缓存,跳过运行该模块, 也就不会再运行一遍, 也就不会死循环
那既然有缓存就直接读缓存, 此时这个模块并没有执行完, 这个时候哪来的缓存?
有的 ! node模块的缓存是一个对象, 即使它暂时还是空对象, 只要在同步代码中没有对它本身的更改或者对它的属性的读取, 就不会有任何问题 !
总结
聚合纯导出、不执行逻辑
放在专门目录,分层清晰
就能让项目结构清楚、开发高效、维护方便。
统一出口 + 分层管理
前端项目工具聚合实践
501

被折叠的 条评论
为什么被折叠?



