首页 web前端 js教程 为expressjs做贡献

为expressjs做贡献

Nov 23, 2024 am 07:07 AM

嗨!我叫 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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

前端热敏纸小票打印遇到乱码问题怎么办? 前端热敏纸小票打印遇到乱码问题怎么办? Apr 04, 2025 pm 02:42 PM

前端热敏纸小票打印的常见问题与解决方案在前端开发中,小票打印是一个常见的需求。然而,很多开发者在实...

神秘的JavaScript:它的作用以及为什么重要 神秘的JavaScript:它的作用以及为什么重要 Apr 09, 2025 am 12:07 AM

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

谁得到更多的Python或JavaScript? 谁得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

如何实现视差滚动和元素动画效果,像资生堂官网那样?
或者:
怎样才能像资生堂官网一样,实现页面滚动伴随的动画效果? 如何实现视差滚动和元素动画效果,像资生堂官网那样? 或者: 怎样才能像资生堂官网一样,实现页面滚动伴随的动画效果? Apr 04, 2025 pm 05:36 PM

实现视差滚动和元素动画效果的探讨本文将探讨如何实现类似资生堂官网(https://www.shiseido.co.jp/sb/wonderland/)中�...

JavaScript的演变:当前的趋势和未来前景 JavaScript的演变:当前的趋势和未来前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript难以学习吗? JavaScript难以学习吗? Apr 03, 2025 am 12:20 AM

学习JavaScript不难,但有挑战。1)理解基础概念如变量、数据类型、函数等。2)掌握异步编程,通过事件循环实现。3)使用DOM操作和Promise处理异步请求。4)避免常见错误,使用调试技巧。5)优化性能,遵循最佳实践。

如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? 如何使用JavaScript将具有相同ID的数组元素合并到一个对象中? Apr 04, 2025 pm 05:09 PM

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

前端开发中如何实现类似 VSCode 的面板拖拽调整功能? 前端开发中如何实现类似 VSCode 的面板拖拽调整功能? Apr 04, 2025 pm 02:06 PM

探索前端中类似VSCode的面板拖拽调整功能的实现在前端开发中,如何实现类似于VSCode...

See all articles