深入浅出 solid.js 源码 (二十八)—— solid start

1,038 阅读2分钟

这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情

现在前端开发一个比较流行的趋势是一体化框架,比较具有代表性的产品时 next.js,它不仅仅是封装了一下 react,还提供了SSR、SSG 等集成,文件式路由,完整的前后端一体化解决方案,在这类框架下我们可以快速构建高性能的 Web 应用,兼顾 SSR 和 CSR,从开发到部署都有一套成熟的链条。基于 Vue 也有类似的 Nuxt.js,React 社区中也有新兴的 Remix,Svelte 也有 SvelteKit。solid 社区也在打造这样的产品,叫做 SolidStart,这个项目还处于开发阶段,对这个方向感兴趣可以了解尝试一下。

我们可以在 github.com/solidjs/sol… 仓库查看 SolidStart 的最新工作进展,整体的实现和发展方向和业内同类产品差不多,同构一体化开发框架也是前端开发的一个新趋势。

鉴于目前产品处于开发阶段,API 尚未稳定,本文暂时不会详细展开分析,这里简单了解一下现有的一些能力,感兴趣的开发者可以去参与贡献。

首先是文件路由,这个很常见,每一个页面上可以定义一个 routeData 返回提前注入的数据,这部分内容由服务器处理,在页面上使用 useRouteData 来获取这个数据,这个用法和 remix 的 loader 非常相似。

对于样式和 header 属性,这里没有采用 remix 风格的操作,更像是 next 这种,通过业内标签元素来添加的,post 请求是通过 actions 来发出的,这里也和 remix 不同。

其他一些内置组件相关的目前文档还未建设完全,可能需要后面再补充。本来想本文多介绍一些内容,不过考虑到后续可能变化比较大,因此本文内容比较少。

solid start 项目还处于开发阶段,文档和源码都有很多可发挥空间,大家如果愿意参与开源这是一个很不错的机会,这篇简介文章就说这么多。