”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > rnr:适用于每个项目运行脚本的工具

rnr:适用于每个项目运行脚本的工具

发布于2024-09-30
浏览:748

rnr: The Tool That Speaks Every Project run scripts

嘿,JavaScript 和 TypeScript 开发者! ?您是否厌倦了使用不同的命令来启动各种 JS 项目?好吧,我有一些令人兴奋的消息要告诉你!我创建了一个名为 rnr(发音为“runner”)的工具,它使运行任何 JavaScript 或 TypeScript 项目变得超级容易。

rnr 是什么以及我为什么这么做?

假设您正在开发多个 JavaScript 项目 - 也许是一个 React 应用程序、一个 Node.js 服务器和一个 Vue.js 网站。每个都需要不同的命令来启动。这就像拥有一堆不同的遥控器,每个设备一个。很混乱吧?

这就是我制作rnr的原因。它就像 JS 和 TS 项目的通用遥控器。您只需输入 rnr,它就会知道如何启动您的项目,无论您使用什么框架或库!

rnr 可以做的很酷的事情

  1. 它很智能:rnr 查看您的项目并知道它是 React、Vue、Express 还是任何其他流行的 JS 框架。

  2. 适用于许多 JS 项目:无论您使用 Next.js、Express、React、Vue 还是纯 JavaScript,rnr 都知道如何处理它们。

  3. 选择最佳包管理器:rnr 自动在 npm、Yarn、pnpm 或 Bun 之间进行选择 - 无论哪一个最适合您的项目。

  4. 一个命令搞定一切:想要在开发模式下运行?构建你的项目?在生产模式下启动它? rnr 只需对命令进行微小的更改即可完成所有这些操作。

  5. 易于设置:rnr 可以自行设置,但如果您想自定义它如何与您的项目配合使用,您可以进行调整。

rnr 模式:运行 JS 项目的不同方式

rnr 非常灵活。它有不同的模式来帮助您以不同的方式处理 JavaScript 项目:

  1. 开发模式:这适用于您正在编码并希望立即看到更改的情况。这就像实时预览您的作品。
    像这样使用它: rnr dev 或只是 rnr

  2. 构建模式:当您准备好部署项目时,请使用此模式。这就像打包您的应用程序以进行运输。
    像这样使用它:rnr build

  3. 生产模式:这用于在生产环境中运行您的应用程序。它针对性能进行优化,而不是针对开发。
    像这样使用它:rnr prod

我们不会就此止步!我们正在努力添加更多模式,让您的 JavaScript 开发生活更加轻松。

如何开始使用 rnr

获取 rnr 非常简单。只需在命令行中输入:
在这里探索

npm i -g @sujit-shrc/rnr

然后,转到任意 JavaScript 或 TypeScript 项目文件夹并输入:

rnr

就是这样! rnr 将为您启动您的项目。

为什么我做了rnr

作为一名 JavaScript 开发人员,我厌倦了在不同项目的 npm run dev、yarn start、pnpm runserve 等之间切换。我想:“一定有更好的方法!”这就是 rnr 的诞生 - 让运行 JS 项目变得简单和一致。
转到 npmjs

为什么你会喜欢 rnr

  • 节省时间:不再需要查找如何启动每个 JS 项目。
  • 适用于所有 JS 框架:对 React、Vue、Angular 或 Node.js 项目使用相同的命令。
  • 轻松模式切换:轻松切换开发、生产和构建模式。
  • 不断变得更好:我们一直在增加对更多 JS 工具和框架的支持。

rnr 的下一步是什么?

我们正在努力让 rnr 为 JavaScript 和 TypeScript 开发人员提供更好的服务!我们正在考虑添加对更多框架的支持,改进它检测项目类型的方式,甚至可能添加一些用于测试和调试的很酷的功能。敬请关注!

今天就试试吧!

想让运行 JavaScript 和 TypeScript 项目变得超级简单吗?尝试一下:

npm i -g @sujit-shrc/rnr

查看我们的 GitHub 存储库以了解更多信息、报告任何问题或为让 rnr 更好地服务 JS 社区做出贡献。

让我们一起让 JavaScript 开发变得更简单、更有趣!

JS 爱好者,编码愉快! ?


附注我们很想听听您对 rnr 的看法!你在你的 JavaScript 项目中尝试过吗?您有什么想法可以让 TypeScript 用户变得更好吗?请在评论中或在 GitHub 上告诉我们。您的反馈有助于我们让 rnr 为所有 JS 开发人员提供出色的服务!

版本声明 本文转载于:https://dev.to/sujit-shrc/rnr-the-tool-that-speaks-every-project-run-scripts-35kb?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • Go 中的并发模式;工作池和扇出/扇入
    Go 中的并发模式;工作池和扇出/扇入
    Go 以其卓越的并发模型而闻名,但许多开发人员只关注 goroutine 和通道。然而,工作池和扇出/扇入等并发模式提供了真正的效率。 本文将介绍这些高级概念,帮助您最大限度地提高 Go 应用程序的吞吐量。 为什么并发很重要 并发允许程序高效地执行任务,特别是在处理 I/O 操作、...
    编程 发布于2024-11-06
  • 如何在 C++ 中将单个字符转换为 std::string?
    如何在 C++ 中将单个字符转换为 std::string?
    从单个字符创建字符串人们可能会遇到需要将表示为 char 数据类型的单个字符转换为std::string。从字符串中获取字符很简单,只需在所需位置索引字符串即可。然而,相反的过程需要不同的方法。要从单个字符创建 std::string,可以使用多种方法:使用 std::string参数计数为 1:c...
    编程 发布于2024-11-06
  • JavaScript 变量名称中美元符号的含义是什么?
    JavaScript 变量名称中美元符号的含义是什么?
    JavaScript 变量名称中美元符号的意义在编程领域,命名约定的使用对于增强代码至关重要可读性并遵循最佳实践。在 JavaScript 中,美元符号 ($) 通常作为变量名称的前缀出现,特别是引用 jQuery 对象的变量名称。美元符号的用途是什么?与流行的看法相反,JavaScript 变量名...
    编程 发布于2024-11-06
  • 如何重新排列 CSS 网格布局中的列以实现移动响应?
    如何重新排列 CSS 网格布局中的列以实现移动响应?
    在 CSS 网格布局中重新排序列在 CSS 网格布局中,有多种技术可以修改列的顺序以实现具体布局。本问题探讨了重新排列移动布局列的可能性,例如将列移动到底部,同时在桌面布局上保持所需的列顺序。解决方案选项:grid-template-areas: 此属性允许您在网格内定义命名区域,然后将网格项分配给...
    编程 发布于2024-11-06
  • Hacktoberfest 周在线拍卖系统
    Hacktoberfest 周在线拍卖系统
    概述 在 Hacktoberfest 的第三周,我决定为一个较小但有前途的项目做出贡献:在线拍卖系统。尽管该项目仍处于早期阶段,但它已经显示出增长潜力,而且我看到了帮助改进其代码库的机会。我的任务是通过减少冗余代码和改进整体结构来重构项目,使其更具可维护性和可扩展性。 ...
    编程 发布于2024-11-06
  • 如何使用“exception_ptr”在 C++ 线程之间传播异常?
    如何使用“exception_ptr”在 C++ 线程之间传播异常?
    在 C 中的线程之间传播异常 当从主线程调用的函数生成多个线程时,就会出现在 C 中的线程之间传播异常的任务用于 CPU 密集型工作的工作线程。挑战在于处理工作线程上可能发生的异常并将其传播回主线程​​以进行正确处理。传统方法一种常见方法是手动捕获工作线程上的各种异常,记录它们的详细信息,然后在主线...
    编程 发布于2024-11-06
  • 如何使用 3D CSS 变换修复 Firefox 中的锯齿状边缘?
    如何使用 3D CSS 变换修复 Firefox 中的锯齿状边缘?
    使用 3D CSS 变换时 Firefox 中的锯齿状边缘与 Chrome 中使用 CSS 变换时的锯齿状边缘问题类似,Firefox 在 3D 变换中也出现了这个问题。背面可见性作为 Chrome 中的潜在解决方案,在 Firefox 中被证明无效。解决方法:要在 Firefox 中缓解此问题,您...
    编程 发布于2024-11-06
  • 为什么 PHP 的 mail() 函数给电子邮件发送带来挑战?
    为什么 PHP 的 mail() 函数给电子邮件发送带来挑战?
    为什么 PHP 的 mail() 函数达不到要求:限制和陷阱虽然 PHP 提供了 mail() 函数用于发送电子邮件,但它却失败了与专用库或扩展相比较短。以下是与使用 mail() 相关的缺点和限制的全面检查:格式问题:mail() 可能会遇到以下问题:标题和内容格式,尤其是操作系统之间的换行符差异...
    编程 发布于2024-11-06
  • 使用 npyConverter 简化 NumPy 文件转换
    使用 npyConverter 简化 NumPy 文件转换
    如果您使用 NumPy 的 .npy 文件并需要将其转换为 .mat (MATLAB) 或 .csv 格式,npyConverter 就是适合您的工具!这个简单的基于 GUI 的工具通过干净且用户友好的界面提供 .npy 文件的批量转换。 主要特点 批量转换:将目录下所有.npy文件...
    编程 发布于2024-11-06
  • 如何禁用特定线路的 Eslint 规则?
    如何禁用特定线路的 Eslint 规则?
    禁用特定行的 Eslint 规则在 JSHint 中,可以使用语法禁用特定行的 linting 规则: /* jshint ignore:start */ $scope.someVar = ConstructorFunction(); /* jshint ignore:end */对于 eslint...
    编程 发布于2024-11-06
  • 如何在没有错误的情况下将列表插入 Pandas DataFrame 单元格?
    如何在没有错误的情况下将列表插入 Pandas DataFrame 单元格?
    将列表插入 Pandas 单元格问题在 Python 中,尝试将列表插入 Pandas DataFrame 的单元格可能会导致错误或意想不到的结果。例如,当尝试将列表插入 DataFrame df 的单元格 1B 时:df = pd.DataFrame({'A': [12, 23], 'B': [n...
    编程 发布于2024-11-06
  • Matplotlib 中的“plt.plot”、“ax.plot”和“figure.add_subplot”之间的主要区别是什么?
    Matplotlib 中的“plt.plot”、“ax.plot”和“figure.add_subplot”之间的主要区别是什么?
    Matplotlib 中绘图、轴和图形之间的差异Matplotlib 是一个用于创建可视化的面向对象的 Python 库。它使用三个主要对象:图形、轴和绘图。图形图形表示将在其中显示可视化的整个画布或窗口。它定义画布的整体大小和布局,包括边距、背景颜色和任何其他全局属性。轴轴表示图中绘制数据的特定区...
    编程 发布于2024-11-06
  • FireDucks:以零学习成本获得超越 pandas 的性能!
    FireDucks:以零学习成本获得超越 pandas 的性能!
    Pandas 是最受欢迎的库之一,当我在寻找一种更简单的方法来加速其性能时,我发现了 FireDucks 并对它产生了兴趣! 与 pandas 的比较:为什么选择 FireDucks? Pandas 程序可能会遇到严重的性能问题,具体取决于其编写方式。然而,作为一名数据科学家,我想花...
    编程 发布于2024-11-06
  • CSS 网格:嵌套网格布局
    CSS 网格:嵌套网格布局
    介绍 CSS Grid 是一种布局系统,因其在创建多列布局方面的灵活性和效率而迅速受到 Web 开发人员的欢迎。它最有用的功能之一是能够创建嵌套网格布局。嵌套网格可以在设计复杂网页时提供更多控制和精确度。在本文中,我们将探讨在 CSS Grid 中使用嵌套网格布局的优点、缺点和主要...
    编程 发布于2024-11-06
  • 适用于 Java 的 Jupyter 笔记本
    适用于 Java 的 Jupyter 笔记本
    Jupyter Notebook 的强大 Jupyter Notebooks 是一个出色的工具,最初是为了帮助数据科学家和工程师使用 python 编程语言简化数据处理工作而开发的。事实上,笔记本的交互性使其非常适合快速查看代码结果,而无需搭建开发环境、编译、打包等。此功能对于数据...
    编程 发布于2024-11-06

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3