”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 宣布推出支持多种运行时的 Pylon

宣布推出支持多种运行时的 Pylon

发布于2024-11-01
浏览:860

Announcing Pylon  with Multiple Runtime Support

欢迎来到 @getcronit/[email protected] 版本(2024 年 9 月)!

Pylon v2 引入了对不同运行时的支持、新的创建命令和改进的开发服务器。
npm create pylon 命令官方支持的运行时是 Bun、Node.js 和 Cloudflare Workers。也支持其他运行时,但需要手动设置。
我们努力让迁移顺利进行。请参阅迁移指南,如果迁移过程中遇到任何问题请告诉我们。

此版本的主要亮点:

  • 新运行时:Pylon 现在支持多种运行时,包括 Bun、Node.js 和 Cloudflare Workers。
  • 统一创建命令:新的 npm create pylon 命令提供了创建新 Pylon 项目的一致方法。
  • 改进的开发服务器:新的 pylon dev 命令提供跨不同运行时的统一开发体验。
  • 删除 pylon-cli 和 pylon-server:不再需要 @getcronit/pylon-cli 和 @getcronit/pylon-server 软件包,并替换为 @getcronit/pylon-dev 软件包。

重大变化

如果您正在寻找所有重大更改以及如何迁移的概述,请参阅从 v1 迁移到 v2 指南。

如果您有任何疑问或需要帮助,请随时通过 Discord 与我们联系。我们很乐意协助您完成迁移过程。

概览视频

观看我们如何使用新的 npm create pylon 命令创建新的 Pylon 项目并在 1 分钟内将其部署到 Cloudflare Workers:

pylon.cronit.io

新的运行时

Pylon 现在支持多种运行时,包括 Bun、Node.js 和 Cloudflare Workers。您可以选择最适合您的用例的运行时并轻松部署您的服务。

要创建具有特定运行时的新 Pylon 项目,请使用 npm create pylon 命令:

npm create pylon --runtime cf-workers

此命令使用 Cloudflare Workers 运行时创建一个新的 Pylon 项目。您还可以通过传递 --runtime 标志来指定其他运行时,例如 Node.js 或 Cloudflare Workers。

Pylon 还支持各种其他运行时:

请注意,这些运行时需要手动设置和配置。

  • Cloudflare 页面
  • 德诺
  • 快速计算
  • 维塞尔
  • Netlify
  • AWS Lambda
  • Lambda@Edge
  • Azure 函数
  • Supabase 函数
  • 阿里函数计算
  • 服务人员

统一创建命令

新的 npm create pylon 命令提供了一种一致的方式来创建具有不同运行时、模板、客户端生成等的新 Pylon 项目。
此命令简化了项目创建过程,并确保您拥有开始使用 Pylon 所需的一切。

要创建新的 Pylon 项目,请运行以下命令:

npm create pylon

此命令将提示您为项目选择运行时、模板和其他选项。做出选择后,该命令将在指定目录中创建一个新的 Pylon 项目。

改进的开发服务器

Pylon v2 引入了新的 pylon dev 命令,可在不同运行时提供统一的开发体验。

pylon dev 命令启动开发服务器,并在您更改代码时自动重新加载您的服务。此命令旨在简化开发过程并使其更轻松地构建和测试您的服务。
要支持不同的运行时,您可以使用 -c 标志指定特定于运行时的启动命令:

pylon dev -c 'bun run .pylon/index.js'

此命令使用 Bun 运行时的指定启动命令启动开发服务器。您可以将该命令替换为适合您选择的运行时的启动命令。

例如,如果您使用的是 Cloudflare Workers,则可以使用以下命令启动开发服务器:

pylon dev -c 'wrangler dev'

此命令使用 wrangler dev 命令启动开发服务器,这是在本地运行 Cloudflare Workers 的推荐方法。

删除 pylon-cli 和 pylon-server

不再需要 @getcronit/pylon-cli 和 @getcronit/pylon-server 软件包,并已被 @getcronit/pylon-dev 软件包取代。

为什么 pylon-cli 被删除?

pylon-cli 包用于创建新的 Pylon 项目并管理开发服务器。随着 npm create pylon 命令和 pylon dev 命令的引入,pylon-cli 包提供的功能现在由 create-pylon 包和 pylon-dev 包处理。

为什么 pylon-server 被删除?

pylon-server 只有一个目的:使用 Bun 启动服务器。随着多个运行时的引入,pylon-server 包变得过时了。 pylon-dev 包现在可以处理所有运行时的开发服务器。
对于生产,您现在可以使用特定于运行时的命令直接执行 .pylon/index.js (例如,bun run .pylon/index.js 或 node .pylon/index.js)。这种灵活的方法允许您为您的用例选择最佳的部署策略。

致谢

非常感谢所有帮助发布此版本的人?

  • @kleberbaum 的梦想是我们将支持 Cloudflare Workers,现在我们做到了!
  • @dave-calleja 最初请求多运行时支持,这让我们意识到这对于 Pylon 的未来至关重要。
  • @schettn 用于编码所有这些;)
版本声明 本文转载于:https://dev.to/schettn/announcing-pylon-20-with-multiple-runtime-support-4fik?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何克服PHP的功能重新定义限制?
    如何克服PHP的功能重新定义限制?
    克服PHP的函数重新定义限制 但是,PHP工具腰带中有一个隐藏的宝石:runkit扩展。它使您能够灵活地重新定义函数。 runkit_function_renction_rename() runkit_function_redefine() //重新定义'this'以返回“新和改...
    编程 发布于2025-04-09
  • 如何使用Python有效地以相反顺序读取大型文件?
    如何使用Python有效地以相反顺序读取大型文件?
    在python 反向行读取器生成器 == ord('\ n'): 缓冲区=缓冲区[:-1] 剩余_size- = buf_size lines = buffer.split('\ n'....
    编程 发布于2025-04-09
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-04-09
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将其...
    编程 发布于2025-04-09
  • 为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    为什么使用固定定位时,为什么具有100%网格板柱的网格超越身体?
    网格超过身体,用100%grid-template-columns 为什么在grid-template-colms中具有100%的显示器,当位置设置为设置的位置时,grid-template-colly修复了?问题: 考虑以下CSS和html: class =“ snippet-code”> g...
    编程 发布于2025-04-09
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-04-09
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-04-09
  • 如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    使用http request 上传文件上传到http server,同时也提交其他参数,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    编程 发布于2025-04-09
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-04-09
  • 如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    如何将MySQL数据库添加到Visual Studio 2012中的数据源对话框中?
    在Visual Studio 2012 尽管已安装了MySQL Connector v.6.5.4,但无法将MySQL数据库添加到实体框架的“ DataSource对话框”中。为了解决这一问题,至关重要的是要了解MySQL连接器v.6.5.5及以后的6.6.x版本将提供MySQL的官方Visual...
    编程 发布于2025-04-09
  • 如何使用Python的请求和假用户代理绕过网站块?
    如何使用Python的请求和假用户代理绕过网站块?
    如何使用Python的请求模拟浏览器行为,以及伪造的用户代理提供了一个用户 - 代理标头一个有效方法是提供有效的用户式header,以提供有效的用户 - 设置,该标题可以通过browser和Acterner Systems the equestersystermery和操作系统。通过模仿像Chro...
    编程 发布于2025-04-09
  • 为什么使用Firefox后退按钮时JavaScript执行停止?
    为什么使用Firefox后退按钮时JavaScript执行停止?
    导航历史记录问题:JavaScript使用Firefox Back Back 此行为是由浏览器缓存JavaScript资源引起的。要解决此问题并确保在后续页面访问中执行脚本,Firefox用户应设置一个空功能。 警报'); }; alert('inline Alert')...
    编程 发布于2025-04-09
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-04-09
  • 如何在Java的全屏独家模式下处理用户输入?
    如何在Java的全屏独家模式下处理用户输入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    编程 发布于2025-04-09
  • 版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    版本5.6.5之前,使用current_timestamp与时间戳列的current_timestamp与时间戳列有什么限制?
    在时间戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源于遗留实现的关注,这些限制需要对当前的_timestamp功能进行特定的实现。 创建表`foo`( `Productid` int(10)unsigned not n...
    编程 发布于2025-04-09

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

Copyright© 2022 湘ICP备2022001581号-3