AstroJS 启动!

最近有一个官网开发的需求,本来是准备利用老的技术栈,快速开发、快速结束。比如说找一个 PHP 或者 JSP 技术栈的成熟 CMS 框架。前端只需要写一个主题模板,然后用插值表达式做一下循环和动态内容的渲染就行了。

可团队内没有 PHP 技术栈。Java 小伙伴也忙的要死,没有时间现学一个 CMS 框架来配合我。但项目上线时间又安排的非常近,没办法一直等。
就想着先使用有 SSG 功能的前端全栈框架先把项目搞起来,把需求先做完。后面再看情况是做 SSR 也行。如果不做 SEO 没有很多文章发布的场景,也可以仅靠 SSG 和钩子触发自动部署即可。

正巧在播客里面听到一个新的全栈框架 Astro,满足了我上便提到的 SSG 和 SSR 需求。前期可以通过撰写 markdown 文档作为 content 资源来满足项目前期的文章发布需求。

而且 Astro 提出的 群岛 概念非常让我感兴趣!

阅读全文

Vue3 中关于 defineProps 的一些 “糖”

const { foo, bar } = defineProps(['foo', 'bar'])

在思否刷到一个问题 🔗 Vue3: 响应式 props 解构得到的变量将不是响应式?也不会更新? 按照问题中引用的文档描述来说确实是不能够解构返回值的。但是问题主提供的两个例子又说明了实际情况下,defineProps() 的返回值是能够被解构的。

VueJS 的 <script setup> 文档 中关于 defineProps() 的部分也没有针对其返回值是否能够解构做出说明。
我在Vue3项目的开发过程中并没有考虑到过这个问题,一直都是通过 props.xx 的形式来使用的。一下子就命中了我的知识盲区,还是 Vue3 写的少了啊。

不过在问题主引用的文档开头有一个响应性语法糖被 移除 的提示,所以去看了一下提示中链接的 废弃原因。

阅读全文