搜索
首页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:学习曲线和易用性Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python vs. JavaScript:社区,图书馆和资源Python vs. JavaScript:社区,图书馆和资源Apr 15, 2025 am 12:16 AM

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

从C/C到JavaScript:所有工作方式从C/C到JavaScript:所有工作方式Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript引擎:比较实施JavaScript引擎:比较实施Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

超越浏览器:现实世界中的JavaScript超越浏览器:现实世界中的JavaScriptApr 12, 2025 am 12:06 AM

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

使用Next.js(后端集成)构建多租户SaaS应用程序使用Next.js(后端集成)构建多租户SaaS应用程序Apr 11, 2025 am 08:23 AM

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

如何使用Next.js(前端集成)构建多租户SaaS应用程序如何使用Next.js(前端集成)构建多租户SaaS应用程序Apr 11, 2025 am 08:22 AM

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript:探索网络语言的多功能性JavaScript:探索网络语言的多功能性Apr 11, 2025 am 12:01 AM

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

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