138 - 《手撕源码 13:Fresh》

发布于 2022年6月21日

Fresh 昨天(2022.6.21)发了 1.0.0-rc.1,作者是 denoland core team 成员,支持类 next.js 的文件系统路由、无构建步骤、支持 api routes、支持 islands、支持部署到 Deno Deploy 等,虽然文档还在施工中,但感觉值得一翻。

下午翻了下源码,学到不少。整体代码简单易懂,连不熟 deno 的我看下来都没遇到卡点。代码仓库是 https://github.com/lucacasonato/fresh ,如果要跑例子,直接 cd examples/counter && deno task start 就好。

观察 example 项目,你会发现有几个根文件,dev.ts、fresh.gen.ts 和 main.ts。dev.ts 在 dev 模式下使用,会在执行 main.ts 之前实时生成 fresh.gen.ts;fresh.gen.ts 是 dev.ts 生成的 manifest 文件,包含 routes、islands、statics、baseUrl 等信息;main.ts 是主入口,上线后也就是执行这个。

Fresh 基于 islands 架构或者叫 0JS 方案

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。