在纠结用Next还是Nuxt的你:试试Deno官方全栈框架Fresh
如果你已经厌倦了每次npm install都要等半天,厌倦了打包体积动不动就几百KB起步,也厌倦了想部署到边缘节点还得研究Vercel、Netlify各种配置,那可以花三分钟了解一下Fresh。
它是Deno官方做的全栈框架,口号简单粗暴:“不写一行配置,也能跑得快。”只需要一条命令,就能拥有React的开发体验、Next.js的SSR能力,以及Vite的秒级热更新——这就是Fresh 2带来的全新范式。
Fresh是什么
Fresh是Deno官方团队打造的全栈Web框架,主打零配置、零客户端JS默认、边缘部署,在运行时、渲染、部署三个核心维度都有明确特性。
帮你解决Next/Nuxt的npm install慢、打包体积大、边缘部署难问题。支持零配置、Preact渲染、Islands架构,Vite模式毫秒热更新,一键部署到全球边缘节点。
运行时特性:直接跑在Deno(而非Node.js)上,天然支持TypeScript,无需额外配置就能使用TypeScript的类型检查和语法特性,省去了Node.js生态中常见的TypeScript配置步骤。
渲染特性:基于Preact,首屏纯HTML,零JS加载;交互区域采用Islands架构按需Hydrate,只对需要交互的部分注入JS,最大程度减少客户端JS体积,避免不必要的资源加载。
部署特性:官方推荐Deno Deploy,一键推送到全球30+边缘节点,让应用在全球各地都能快速响应;同时也支持自建Docker,满足不同场景下的部署需求,灵活适配现有基础设施。
Fresh 2 Beta:从“尝鲜版”到“准正式版”
2024年9月,Fresh宣布2.0进入Beta(RC)阶段,这一版本标志着框架从早期尝鲜阶段走向成熟,为生产环境使用提供了更可靠的支持,主要有三个关键变化。
API稳定性:API已冻结,向后兼容得到保证,意味着你现在基于Fresh 2 Beta开发的代码,在后续正式版发布时无需大幅修改,降低了版本升级带来的维护成本。
生产可用性:稳定性接近正式版,官方鼓励生产试用,说明框架经过了充分测试,能够应对大部分生产场景的需求,减少了早期版本可能出现的未知问题风险。
核心功能升级:里程碑式更新是内置Vite插件模式,把开发体验再提一档,将Vite的优势融入Fresh生态,解决了此前开发过程中可能存在的热更新、冷启动等体验问题。
Vite模式:三大升级,一键开启
要开启Fresh的Vite模式,操作非常简单,只需在fresh.config.ts文件中添加一行配置即可,具体配置代码如下:
export default {
build: { target: "vite" }, // 打开 Vite 模式
};
开启Vite模式后,会带来三大升级,每一项升级都直接优化了开发体验,让你在开发过程中更高效。
HMR热更新升级:保存即刷新,毫秒级反馈,告别整页重载。以往修改代码后可能需要等待整页重新加载,而Vite模式下的HMR能精准更新修改的部分,大幅缩短反馈时间,提升开发流畅度。
Dev Server冷启动升级:Dev Server启动时间从秒级降到毫秒级,即使是低端机也能秒开。这对于配置较低的开发设备非常友好,无需等待漫长的启动过程,打开项目就能快速进入开发状态。
插件生态升级:直接复用Vite全量插件,像UnoCSS、mdx、svg、PWA等插件都能随装随用。无需为Fresh单独寻找适配插件,直接利用成熟的Vite插件生态,扩展框架功能变得更加轻松。
30秒上手体验Fresh
如果你想快速体验Fresh,只需三步操作,就能搭建起Fresh项目并启动开发服务器,整个过程简单高效,无需复杂配置。
第一步:创建项目
执行以下命令,即可快速创建一个名为my-app的Fresh项目,命令会自动拉取所需资源并初始化项目结构:
deno run -A -r https://fresh.deno.dev my-app
第二步:进入目录
项目创建完成后,执行cd命令进入项目目录,准备启动开发服务器:
cd my-app
第三步:启动开发服务器
Fresh提供两种启动模式,你可以根据需求选择。执行以下命令之一,即可启动开发服务器:
默认Deno原生模式启动:
deno task start
进入Vite模式启动(支持HMR热更新和极速冷启动):
deno task start:vite
服务器启动后,在浏览器中打开http://localhost:8000,就能看到Fresh项目的首页,此时你已经可以开始进行开发工作。
Fresh的部署方案:Deno Deploy vs Cloudflare Pages
Fresh提供了两种便捷的部署方案,分别适配不同的使用场景,无论是官方推荐的部署方式,还是适配Vite模式的方案,都能让你快速将应用上线,无需复杂的部署配置。
Deno Deploy(官方推荐)
这是Fresh官方推荐的部署方式,操作极为简单,只需执行一条命令,就能将项目一键推送到全球30+边缘节点,让你的应用在全球范围内都能实现快速访问,无需手动配置边缘节点相关参数:
deno deploy
Cloudflare Pages / Workers(Vite模式专享)
如果你使用的是Fresh的Vite模式,可以选择Cloudflare Pages或Workers进行部署。部署流程也非常便捷,只需将项目代码推送到GitHub,Cloudflare Pages会自动识别项目中的vite.config.ts文件,然后自动进行构建,整个过程大约5分钟,就能完成应用上线,无需手动触发构建流程。
结语
Fresh 2作为Deno官方打造的全栈框架,成功将Deno的简洁与Vite的极速合二为一,在开发、产物、部署三个核心环节都带来了出色的体验。
开发时像Vite一样爽快,毫秒级的热更新和冷启动让你无需等待,专注于代码编写;产物像Deno一样轻量,零客户端JS默认和按需Hydrate的设计,大幅减小打包体积,提升应用加载速度;部署像边缘函数一样无服务器,一键推送就能实现全球边缘节点分发,无需复杂配置。
如果你还在纠结Next和Nuxt,或者对现有框架的安装、打包、部署体验不满意,不妨试试Fresh 2。现在就把fresh.config.ts中的build.target设为"vite",提前体验这款“下一代全栈框架”的终极形态,感受零配置、高效率开发的便捷。
如果你想了解更多关于Fresh的信息,可以访问Fresh官网、Fresh 2.0相关博客或GitHub仓库,获取更详细的文档和最新动态。
Fresh 官网: https://fresh.deno.dev/
Fresh 2.0: https://deno.com/blog/fresh-and-vite
Github 地址: https://github.com/denoland/fresh