这篇内容是在有道云旧笔记基础上重新整理的 Vue/Vite 工程实践 笔记。原始记录偏碎片化,这里补充了使用场景、阅读顺序和落地时需要注意的边界,方便以后在项目里快速复用。
适用场景
- Vue/Vite 项目中遇到配置、组件封装、构建或运行时问题时,作为排查入口。
- 需要把一次性调试经验沉淀成团队内可复用的前端工程实践。
- 迁移旧项目或升级依赖时,用来对照检查环境变量、插件和组件行为差异。
核心要点
- 正文以代码或命令片段为主,阅读时建议先确认目标问题,再挑选对应片段验证。
- 保留了 1 段可直接参考的代码或命令,主要涉及 javascript,复制前需要按当前项目路径、版本和变量名做调整。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| import { STORE } from '@/config/conf'
export default { state: { history: [] }, mutations: { SET_POP: (state) => state.history.pop(), SET_PUSH: (state, route) => state.history.push(route) }, actions: { back: ({ state }) => { const history = state.history }, record: ({ state, commit }, route) => { const history = state.history
if (history.length && history[history.length - 1].name === route.name) { commit('SET_POP') commit('SET_PUSH', route) return false } if (history.length > 1 && history[history.length - 2].name === route.name) { commit('SET_POP') return false }
commit('SET_PUSH', route) if (history.length + 1 >= STORE.HISTORY.length) { commit('SET_POP') } return true } } }
store.dispatch('record', to)
|
实践检查清单
- 先确认 Vue、Vite、Node、包管理器版本,再判断示例是否需要按当前工程结构调整。
- 涉及构建或插件配置时,建议同时验证开发环境和生产构建结果。
- 涉及 UI 或浏览器行为时,至少在桌面端和移动端各验证一次关键路径。
复盘小结
这篇笔记更适合作为问题排查或方案落地前的速查材料。后续如果在真实项目中再次遇到同类问题,可以继续把具体版本、报错信息、最终取舍和验证结果补到对应小节里,让它从代码片段逐步沉淀成完整方案。
Author:蓝思同学
Permalink:https://www.lancema.com/posts/2024/vue/使用vuex管理项目history.html
Slogan:small is beautiful, small is powerful !