主要观点:发布 Lume 3 新版本,致力于减少破坏性更改,提升用户体验,新增site.add()
函数等一系列改进,包括对文件处理、插件行为、JSX 支持等方面的优化。
关键信息和重要细节:
site.copy()
函数存在文件不被处理的缺点,Lume 3 中移除了site.loadAssets()
等函数,新增site.add()
函数,可处理文件加载和复制,还可添加远程文件和npm
specifiers。- 插件在 Lume 3 中不再自动加载文件,需显式添加,如
postcss
插件,这有助于更好地控制资产入口。 - Lume 3 只有一个 JSX 插件
ssx
,速度更快且更符合静态站点需求,还新增.page
子扩展名用于区分页面生成文件和浏览器执行文件。 - Lume 组件在 3 版本中有诸多改进,如支持异步组件、文件夹组件、更好的互操作性、默认数据等。
- 新增全局选项
cssFile
、jsFile
和fontsFolder
,用于存储组件和插件生成的代码。 tailwindcss
插件升级到 Tailwind 4,可选择使用 v3 版本。- 处理器方面有改进,如
page.document
不再返回undefined
,新增page.text
和page.bytes
属性,省略*
wildcard 等。 - 一些插件的执行顺序变得更重要,Lume 3 带有 lint 插件来帮助处理插件顺序问题。
esbuild
插件使用esbuild-deno-loader
来解决 Deno 模块解析的复杂性。basename
变量使用页面的最终 URL,不再接受"index"值。- 默认禁用从文件路径检测日期,可通过
extract_date
插件启用。 - 移除了
jsx_preact
、liquid
和on_demand
插件,以及一些自定义选项,如extensions
、name
等。 - 其他变化包括默认启用 Temporal API、支持 Deno LTS、移除自动
<!doctype html>
等。 - 开发服务器运行时 Lume 3 有调试栏,可通过插件或
_config.ts
扩展,且调试栏在生产构建中不可见,可在_config.ts
中禁用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。