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

嗨!我叫 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
Python vs. JavaScript:开发人员的比较分析Python vs. JavaScript:开发人员的比较分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

Python vs. JavaScript:选择合适的工具Python vs. JavaScript:选择合适的工具May 08, 2025 am 12:10 AM

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript:了解每个的优势Python和JavaScript:了解每个的优势May 06, 2025 am 12:15 AM

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

JavaScript的核心:它是在C还是C上构建的?JavaScript的核心:它是在C还是C上构建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript应用程序:从前端到后端JavaScript应用程序:从前端到后端May 04, 2025 am 12:12 AM

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

Python vs. JavaScript:您应该学到哪种语言?Python vs. JavaScript:您应该学到哪种语言?May 03, 2025 am 12:10 AM

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架:为现代网络开发提供动力JavaScript框架:为现代网络开发提供动力May 02, 2025 am 12:04 AM

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

JavaScript,C和浏览器之间的关系JavaScript,C和浏览器之间的关系May 01, 2025 am 12:06 AM

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

See all articles

热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

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

热门文章

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。