Astro 开发实践
  1. Astro 支持引入 react 组件和 vue 组件,但通常情况下简单的 ssr 输出直接用 astro 自己的组件方式,另外 next.js 用户量很大,就算引用也是引用 react 组件。
  2. 只有 /page 目录下的 .astro 组件支持页面路由,jsx 是不支持直接路由的,意味着你要使用 react 组件,得用 .astro 来包装。
  3. astro ssr 模式支持简单的 http 方法处理,但是不支持 websocket 方式,引入 websocket 需要引入 ws 模块,且包装 http server,可以不使用 express 框架,但是 ssr 时需要指定静态文件路径。这样还是直接用 express 算了,指定静态路径方便,然后 astro 的 http 处理方法都可看作 express 的中间件。astro 在 dev 阶段会通过 4321 端口的 websocket 来通知页面刷新,这样就与你的业务 websocket 逻辑冲突,所以要修改这个热更新通知端口。
  4. astro 虽然支持加载 .mdx 文档,但这个也是编译时支持,即使时 ssr 模式,他也是编译时支持,在 server render 时 .mdx 早已经转成了 html,直接输出了,所以他不是运行时编译输出。
  5. 但是 next.js 支持运行时通过 next-mdx-remote 包解析 .mdx 文档,并输出。
  6. 在 astro 可以引入 react 组件,然后 react 组件导入 next-mdx-remote 模块来运行时解析 .mdx 文档,所以 .mdx 文档的内容是可以运行时远程获取的。
  7. astro 自带的 import.meta.env. 使用环境变量,并不支持从命令行环境变量读取,只能把环境变量定义在 .env.production 里。
  8. astro:db 模块比较鸡肋,用这个模块来操作 sqlite,或者 push 到远程 sqlite 的功能比较鸡肋,直接使用 drizzle-orm 即可,到时方便迁移到其他数据库。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇