作者 | Bruno Couriol
译者 | 张卫滨
策划 | 丁晓昀
Vite 前端构建工具背后的团队最近发布了 Vite 4.0,此时距离 Vite 3.0 发布已有 5 个月。新版本的动力来自于从 Rollup 2.0 到 3.0 的突破性升级。Vite 4.0 还增加了对 SWC 的支持,这是一个基于 Rust 的打包器(bundler),声称比 Babel 有数量级的速度提升。
现在,Vite 4.0 在构建时使用 Rollup 3.0。Rollup 3.0 是在几周前的 ViteConf 2022 上发布的。ViteConf 2022 聚集了 Vite 生态系统的主要参与者。自 Vite 2.0 以来,Vite 是一个与框架无关的构建工具。因此,许多其他的开发者工具、库和框架开始支持 Vite,例如 Storybook、Astro、Nuxt、SvelteKit、Solid Start、Hydrogen、Laravel、Qwik City 以及其他产品。Vite 团队提到:
在生态系统合作伙伴的帮助下,[我们] 很高兴地宣布 Vite 4 发布,它在构建时由 Rollup 3 提供支持。我们会与生态系统协作,确保这个新的主版本的平滑升级。
虽然 Rollup 3 与 Rollup 2 基本兼容,但使用自定义 rollupOptions 的开发者可能会遇到问题,应参考 Rollup 迁移指南来升级他们的配置。
Vite 4.0 还升级了 dotenv 和 dotenv-expand 的版本(参见 dotenv 和 dotenv-expand 的变更日志)。新版本的 dotenv 带来了一些破坏性的变化,要求开发者用引号来包装包含某些字符(如回车键)的名字:
-VITE_APP=ab#cdef
+VITE_APP="ab#cdef"
最近发布的 Next.JS 13 包括了 Turbopack,这是一个新的、仍在 alpha 阶段的、基于 Rust 的 Webpack 替代方案,声称比 Vite 快几个数量级。对这一说法的研究表明,大部分速度的提高与 Turbopack 使用 SWC 有关,SWC 是一个基于 Rust 的打包器,目前仍处于 alpha 阶段。SWC 声称比 Vite 3.0 中使用的 Babel 快 20 倍。Vite 4.0 现在增加了对 SWC 的支持,这应该有助于缩小这一差距。Vite 团队解释说:
SWC 现在是 Babel 的成熟替代方案,特别是在 React 项目下。SWC 的 React 快速刷新实现比 Babel 快很多,对于一些项目来说,它现在是一个更好的选择。从 Vite 4 开始,有两个插件可用于 React 项目,它们有不同的权衡。我们认为目前这两种方法都值得支持,未来我们会继续探索对这两个插件的改进。
开发者可以参考迁移指南和发布说明,以了解与新版本相关的详尽变化。Vite 是在 MIT 开源许可下发布的。欢迎提交贡献,但必须遵循 Vite 的贡献指南。
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
原始问题Letd(n)bedefinedasthesumofproperdivisorsofn(numberslessthannwhichdivideevenlyinton).Ifd(a)=bandd(b)=a,whereab,thenaandbareanamicablepairandeachofaandbarecalledamicablenumbers.Forexample,theproperdivisorsof220are1,2,4,5,10,11,20,22,44,55and110;therefored(220)=284.Theproperdivisorsof284are1,2,
在尝试解决“网格上的路径”问题时,我编写了代码defpaths(n,k)p=(1..n+k).to_ap.combination(n).to_a.sizeend代码工作正常,例如ifn==8andk==2代码返回45,这是正确的路径数。但是,当使用较大的数字时,代码非常慢,我正在努力想出如何加快这个过程。 最佳答案 与其构建组合数组只是为了计算它,不如编写function定义组合的数量。我敢肯定还有包含此功能和许多其他组合函数的gem。请注意,我使用的是gemDistribution对于Math.factorial方法,但这是另一种
尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。ImprovethisquestionC、Java、C#和Python都是从头编译的。感谢Facebook,PHP现在也可以编译并可以在HHVM上运行,从而提高程序的性能。Ruby不可编译并且比上述语言慢。Ruby有没有可能在未来被编译(就像PHP和HHVM一样)?或者可能有一些原因不能做到?
我有这两个gcd函数的实现:defgcd1(a,b)ifa==baelsifa>bif(a%b)==0belsegcd1(a%b,b)endelseif(b%a)==0aelsegcd1(a,b%a)endendenddefgcd2(a,b)if(a==b)returnaelsifb>amin,max=a,belsemin,max=b,aendwhile(max%min)!=0min,max=max%min,minendminend函数gcd1是尾递归的,而gcd2使用while循环。我已经验证rubinius通过对阶乘函数进行基准测试来执行TCO,只有阶乘函数基准测试显示递归版本和迭
我想上传我在运行时用Ruby生成的数据,就像从block中提供上传数据一样。我找到的所有示例仅展示了如何流式传输必须在请求之前位于磁盘上的文件,但我不想缓冲该文件。除了滚动我自己的套接字连接之外,最好的解决方案是什么?这是一个伪代码示例:post_stream('127.0.0.1','/stream/')do|body|generate_xmldo|segment|body 最佳答案 有效的代码。require'thread'require'net/http'require'base64'require'openssl'class
我正在尝试将用户提供的身份验证token与存储在我的服务器上的身份验证token进行比较。最明显的方法就是使用==,但这可能会造成定时攻击。为了缓解这种情况,我编写了这个安全比较函数:#stringcomparisonthatleaksnoinformationaboutthestrings.#looselybasedonhttps://github.com/rack/rack/blob/master/lib/rack/utils.rb#andhttp://security.stackexchange.com/questions/49849/timing-safe-string-com