首页  >  文章  >  web前端  >  为expressjs做贡献

为expressjs做贡献

Barbara Streisand
Barbara Streisand原创
2024-11-23 07:07:09264浏览

嗨!我叫 Peter,如果你不认识我,我是一名计算机科学专业的学生,​​目前正在学习 David Humphrey 教授的 2024 年开源主题课程。

自 2024 年 9 月以来,我一直致力于在开源社区中建立自己的影响力。如果你想跟随我的旅程,可以在 GitHub 上找到我:

Contributing to expressjs

peterdanwan (Peter Wan) · GitHub

全栈开发人员 |游戏和人工智能爱好者 -彼得丹万

Contributing to expressjs

了解项目的范围

第一步:了解我正在做什么。 expressjs.com 是express 的官方文档网站,express 是最流行的 Node.js Web 框架之一。虽然从他们设计精美的网站上可以很快掌握这一点,但旅程才刚刚开始。

Contributing to expressjs

Express - Node.js Web 应用程序框架

Express 是一个快速、无主见、简约的 Node.js Web 框架,为 Web 和移动应用程序提供了一组强大的功能。

为expressjs做贡献 快递网

了解当前的问题

熟悉该项目后,我寻找了一个可以解决的问题。我找到了这个:

为expressjs做贡献 链接损坏和页面丢失 第1684章

为expressjs做贡献
克里斯德尔101 发布于

以下链接已损坏 _includes/header/header-id.html

_includes/header/header-th.html

建议更改为:发布更改日志

缺少页面导致 UZ 语言控制台错误: /css/langs/uz.css

建议添加此页面。

在 GitHub 上查看

我选择这个问题是因为它涉及 HTML 和 CSS - 我熟悉且熟悉的技术。然而,看起来简单的东西实际上教会了我关于开源开发的重要一课:

即使是看起来熟悉的任务也可能涉及不熟悉的领域。

存储库使用了我以前从未接触过的技术,这才是真正学习的开始。我花了大约一个小时才决定是否尝试这个问题——回想起来可能太久了。我很犹豫,因为该项目使用了 Ruby,这对我来说是全新的。

剧透警告:设置 Ruby 是...一次冒险。

了解如何在本地设置项目

设置本地开发环境通常是开源贡献中最具教育意义的部分之一。

通过尝试在本地运行expressjs.com,我了解了一些关于 Ruby 和 Jekyll 的知识。

以下是我的旅程:

  1. 最初的困惑:我首先直接在 Windows 上安装 Ruby。虽然它有效,但并不理想,因为我安装的版本与项目中使用的版本不同而出现问题。 Windows 上的版本管理并不有趣。因此,我卸载了 Windows 上安装的 Ruby 及其其他依赖项,并寻找替代解决方案。

  2. WSL 发现:我的研究使我得出的结论是,我应该在 Windows Subsystem for Linux (WSL) 上运行 Ruby,因为它提供了更好的开发环境并可以访问强大的 Ruby 版本管理器 (RVM),它使我能够处理使用不同版本 Ruby 的项目。对我来说,安装 RVM 的感觉非常相似,因为我使用 nvm-windows 来允许我在不同的节点版本之间切换。

  3. 版本管理学习曲线:我再次了解了 RVM 以及它与 Node.js 的 nvm 的相似之处。这教会了我开发环境中版本管理的重要性。

以下是我用来准备开发环境的实际命令:

## 1. Installing RVM (Ruby Version Manager)
# First, import GPG keys needed to verify RVM installation
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

# Download and install RVM
\curl -sSL https://get.rvm.io | bash -s stable

# Verify RVM is installed and get its path
which rvm

# Load RVM into your current shell session
source /home/peter/.rvm/scripts/rvm

## 2. Installing Ruby
# Install Ruby version 3.3.5 (latest stable as of early 2024)
rvm install 3.3.5

# Set 3.3.5 as your default Ruby version
rvm use 3.3.5

# Verify RVM and Ruby installations
rvm -v
ruby -v

## 3. Setting up Jekyll
# Install Jekyll and Bundler gems
gem install bundler jekyll

# Install project dependencies from Gemfile (must be within the target directory with the Gemfile)
bundle install

# Start the Jekyll server with live reload and external access
# --host 0.0.0.0 allows access from other devices on your network
# --livereload automatically refreshes your browser when files change
bundle exec jekyll serve --host 0.0.0.0 --livereload

解决问题

配置好我的开发环境后,我就可以开始解决手头的问题,即简单地更新
包含指向英文版链接的损坏链接的锚标记(因为英文版链接并未损坏)。

这是整个贡献中最简单的部分。

我还确保查看一些日志以查看是否有任何需要修复的错误。我建议添加另一个文件 css/id.css,它遵循相同的
已添加的文件的编码格式,因为我有一个可以解决某些错误日志的暗示。

expressjs.com 的维护者之一 Chris Del,提供了非常即时的反馈,表明这是要做的事情(谢谢 Chris!)。

因此,我也将此更改添加到我的拉取请求中。

等待合并变更并学习参与讨论

话虽如此,我所做的更改现在正在等待合并到expressjs.com的主分支中。
后续还专门讨论了expressjs.com网站的标准。即:

用户应该被重定向到有效的英文页面而不是正确语言的损坏链接吗?

这不是由我决定,但我想参与讨论。您可以在这里关注讨论。

学习成长为开源开发人员

最初的一个简单的 HTML/CSS 修复变成了一次旅程,教会了我有关开源开发的宝贵经验:

  1. 走出舒适区:虽然我选择了一个涉及熟悉技术(HTML/CSS)的问题,但我最终学习了一个全新的技术堆栈(Ruby/Jekyll)。这告诉我,当我们愿意应对不熟悉的事情时,成长就会发生。

  2. 技术发展:设置开发环境、管理版本和使用新工具都是至关重要的技能。每一个挑战都会让下一个挑战变得更容易实现。

  3. 社区参与:通过诸如语言重定向讨论之类的讨论,我了解到开源不仅仅是代码 - 它是关于参与影响项目决策的有意义的讨论。

展望未来,我计划通过以下方式进行改进:

  • 应对日益具有挑战性的问题
  • 学习使用不同的技术堆栈和开发环境
  • 更积极地参与项目讨论和决策
  • 贡献文档并帮助其他新人
  • 在开源社区内建立关系

最重要的是,我了解到,成为一名高效的开源开发人员并不是要了解一切,而是要愿意学习任何东西。每一次贡献,无论多小,都是一个成长的机会,并对我们关心的项目产生积极影响。

如果您正在考虑参与开源,请记住:从小事做起,保持好奇心,不要害怕边学习边学习。社区随时帮助您成长。

以上是为expressjs做贡献的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn