达成成就 - Nuxt Contributor 😁

过了很久才决定写下这篇文章,记录一下参与Nuxt的贡献历程,没想到有一天可以参与到 Nuxt 56.8k star (2023.04 ~ 2025.04)的贡献当中,也权当做一次这几年的回顾。

前情提要

2023年做一个服务端渲染的项目,从Nuxt地球最强无对手ssr框架两个框架中,都做了项目试点。最终决定后续项目都使用Nuxt去做,对于Vue开发者的使用上来讲,使用Nuxt框架更简单,版本更新迭代更快。当然只是更主观意识的选择,两个框架都很好。

参与贡献

第一次PR

其实为什么能参与贡献,主要是因为项目中正好碰到了这个问题,但是并不是一个很大的问题。

其实只是在执行preview的时候,配置的路径问题

ts 复制代码
nitro: { output: { dir: '~/node-server' } }

会提示找不到nitro.json,当时在我比较肤浅的眼光看来,这就是一个路径问题,处理一下~/就可以解决这个了~

然后秉承着这个问题我可以解决的态度,然后根据Nuxt contribution guide(当时还是个README),提交了如下代码

ts 复制代码
const serverOutputDir = config.nitro.output?.dir?.replace(/^~\//, '') || '.output'

第一次参与这种大型项目的代码贡献,心里很忐忑(好歹不是简单的改个文档~)

不过并没有那么简单,哈哈哈😁

在我提完这个PR后,得到了danielroe(Nuxt Maintainer)很明确的说明,这样可能会有其他额外的开销问题,他不愿意这样合并。当然,后续得到了pi0的解释,预览功能在本地,有开销也可以接受,他就同意了本次的修改,本来以为approve之后,我的改动会被合并进去~心里还挺激动的😄,毕竟参与了这么大型的开源项目,理想很丰满,现实很骨感,最终只有两行引入是我改动的,其他的处理被danielroe改掉了😭,也勉强算是一次有效的参与吧。

但是第一次参与大型开源项目,还是这么大的项目,心里肯定是相当激动的~能合并进去,对我来说也是很强的鼓励了。

详情可见:fix(nuxi): preview nitro build with custom dir config

第一次Fix的PR

然后一直基本到2024.07之前,基本都是碰到文档问题,不太清晰明了的,去帮助做一下修改。

2024.07正好碰到一个我可以处理的definePageMeta属性合并问题,这回靠自己处理好了

详情可见:fix(nuxt): merge route meta properties with scanned meta

第一次Feat的PR

2024.10正好使用definePageMeta,然后发现跟vue-route结合还是挺紧密的,但是却没有props的设置,查看了一下源码,发现其实加起来也并不麻烦,所以就进行了一次增强

csharp 复制代码
-- pages
   -- [params]
      -- [id].vue

// [id].vue
<script setup lang="ts">
definePageMeta({
  props: true,
})
const { params, id } = defineProps<{
  params: string
  id: string
}>()

console.log(params, id)
</script>

详情可见:feat(nuxt): allow enabling route props in definePageMeta

2024 ~ 2025

后面就是在项目的使用过程中碰到的问题,自己可以解决的,就去fix一下,文档显示不清楚的,就去修改一下,有标注enhancement的,看过之后会加的,就feat一下~

感触

其实没想到不知不觉都过了两年时光了(2023 ~ 2025),与Nuxt的纠缠也越来越深了,基本现在开发所有的业务项目,都是使用Nuxt,对于我们来讲,约定>配置,确实方便了开发,降低了开发难度,心智负担,但是想写好还是有难度的。

最后对于参与开源这个事情,迈出第一步其实还是挺难的,但是你参与过后,发现也并没有很难,即使改个文档,能被合并也是你的能力,你能发现别人没有发现的问题~ 一起加油吧!!

最后放两张图吧,互勉❤

相关推荐
高台树色3 天前
Nuxt 2 路由优化与 Sitemap 生成方案
nuxt.js
togo12 天前
NUXT4.js制作企业官网
nuxt.js
拜无忧13 天前
【教程】Nuxt v4 入门指南与实践 (vue前端角度开发)
前端·nuxt.js
光影少年21 天前
next.js和nuxt与普通csr区别
nuxt.js·掘金·金石计划·next.js
晓得迷路了23 天前
栗子前端技术周刊第 97 期 - Viteland:8 月回顾、Redux Toolkit 2.9、Nuxt 4.1...
前端·javascript·nuxt.js
萌萌哒草头将军1 个月前
Nuxt 4.1 版本新功能速览!支持 rolldown-vite 了!
vue.js·vite·nuxt.js
lemooljiang1 个月前
Nuxt 开发指南
nuxt.js
北鸟南游1 个月前
用现有bootstrap的模板,改造成nuxt3项目
前端·bootstrap·nuxt.js
郭少1 个月前
🔥 放弃 vw!我在官网大屏适配中踩了天坑,用 postcss-px-to-viewport-8-plugin 实现了 Rem 终极方案
vue.js·性能优化·nuxt.js
文艺理科生1 个月前
Nuxt.js入门指南-Vue生态下的高效渲染技术
前端·vue.js·nuxt.js