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

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

发布于2024-11-08
浏览:340

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]删除
最新教程 更多>
  • 如何使用Python的记录模块实现自定义处理?
    如何使用Python的记录模块实现自定义处理?
    使用Python的Loggging Module 确保正确处理和登录对于疑虑和维护的稳定性至关重要Python应用程序。尽管手动捕获和记录异常是一种可行的方法,但它可能乏味且容易出错。解决此问题,Python允许您覆盖默认的异常处理机制,并将其重定向为登录模块。这提供了一种方便而系统的方法来捕获和...
    编程 发布于2025-02-19
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能以在window.onunload事件上调用。 pre> window.onload ...
    编程 发布于2025-02-19
  • 我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    我可以将加密从McRypt迁移到OpenSSL,并使用OpenSSL迁移MCRYPT加密数据?
    将我的加密库从mcrypt升级到openssl 问题:是否可以将我的加密库从McRypt升级到OpenSSL?如果是这样?使用openssl? openssl_decrypt()函数要求iv参数的长度与所使用的cipher的块大小相同。 && && && && &&华openssl_decry...
    编程 发布于2025-02-19
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    解决此问题,我们采用了一个巧妙的CSS解决方案来解决问题:左:50%; 高度:auto; 宽度:100%; //对于水平块 ,使用绝对定位将图像定位在中心,以object-fit:object-fit:cover in IE和edge消除了问题。现在,图像将按比例扩展,保持所需的效果而不会失真。...
    编程 发布于2025-02-19
  • 如何在JavaScript对象中动态设置键?
    如何在JavaScript对象中动态设置键?
    如何为JavaScript对象变量创建动态键,尝试为JavaScript对象创建动态键,使用此Syntax jsObj['key' i] = 'example' 1;将不起作用。正确的方法采用方括号:他们维持一个长度属性,该属性反映了数字属性(索引)和一个数字属性的数量。标准对象没有模仿这...
    编程 发布于2025-02-19
  • 为什么箭头函数在IE11中引起语法错误?如何修复它们?
    为什么箭头函数在IE11中引起语法错误?如何修复它们?
    为什么arrow functions在IE 11 中引起语法错误。 IE 11不支持箭头函数,导致语法错误。这使用传统函数语法来定义与原始箭头函数相同的逻辑。 IE 11现在将正确识别并执行代码。
    编程 发布于2025-02-19
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    在尝试将image存储在mysql数据库中时,您可能会遇到一个可能会遇到问题。本指南将提供成功存储您的图像数据的解决方案。 essue values('$ this-> image_id','file_get_contents($ tmp_image)&#...
    编程 发布于2025-02-19
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError:SomeClass实...
    编程 发布于2025-02-19
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-02-19
  • 为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    [2明确担心Microsoft Visual C(MSVC)在正确实现两相模板实例化方面努力努力。该机制的哪些具体方面无法按预期运行?背景:说明:的初始Syntax检查在范围中受到限制。它未能检查是否存在声明名称的存在,导致名称缺乏正确的声明时会导致编译问题。为了说明这一点,请考虑以下示例:一个符合...
    编程 发布于2025-02-19
  • 如何以不同的频率控制Android设备振动?
    如何以不同的频率控制Android设备振动?
    控制使用频率变化的Android设备振动是否想为您的Android应用程序添加触觉元素?了解如何触发设备的振动器至关重要。您可以做到这一点:生成基本振动以生成简单的振动,使用振动器对象:这将导致设备在指定的持续时间内振动。许可要求通过上述技术,您可以创建在您的Android应用程序中自定义振动,以增...
    编程 发布于2025-02-19
  • Java是否允许多种返回类型:仔细研究通用方法?
    Java是否允许多种返回类型:仔细研究通用方法?
    在java中的多个返回类型:一个误解介绍,其中foo是自定义类。该方法声明似乎拥有两种返回类型:列表和E。但是,情况确实如此吗?通用方法:拆开神秘 [方法仅具有单一的返回类型。相反,它采用机制,如钻石符号“ ”。分解方法签名: :本节定义了一个通用类型参数,E。它表示该方法接受了扩展foo类的任...
    编程 发布于2025-02-19
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    Exploiting Regular ExpressionsA more efficient solution involves leveraging regular expressions.正则表达式允许您定义复杂的搜索模式并在单个操作中执行文本转换。示例使用接下来,您可以使用匹配器查找令牌的所...
    编程 发布于2025-02-19
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    element.addeventlistener(event,function(){/要解决此问题,请考虑将事件处理程序存储在中心位置,例如页面的主要对象,请考虑将事件处理程序存储在中心位置,否则无法清理匿名事件处理程序。 。这允许在需要时轻松迭代和清洁处理程序。
    编程 发布于2025-02-19
  • 如何限制动态大小的父元素中元素的滚动范围?
    如何限制动态大小的父元素中元素的滚动范围?
    在交互式界面中实现垂直滚动元素的CSS高度限制 考虑一个布局,其中我们具有与可滚动的映射div一起移动的subollable map div用户的垂直滚动,同时保持其与固定侧边栏的对齐方式。但是,地图的滚动无限期扩展,超过了视口的高度,阻止用户访问页面页脚。 可以限制地图的滚动,我们可以利用CSS...
    编程 发布于2025-02-19

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

Copyright© 2022 湘ICP备2022001581号-3