RSBuild v1.3.0-beta.2 发布:CSS 内联导入与样式预处理增强
RSBuild 是一个现代化的前端构建工具,专注于提供高效的构建体验和优秀的开发体验。作为 Rspack 生态的重要组成部分,RSBuild 通过简化配置和提供开箱即用的功能,帮助开发者快速搭建和优化前端项目。
核心特性更新
CSS 内联导入支持
本次版本新增了对 CSS 内联导入的支持,这是一个重要的功能增强。开发者现在可以通过特殊的查询参数直接将 CSS 内容内联到 JavaScript 模块中,而不需要生成额外的 CSS 文件。这种方式特别适合小型样式片段或需要动态加载的样式。
内联导入的使用方式简单直观,只需在导入路径后添加 ?inline 查询参数即可。这一特性为开发者提供了更灵活的样式管理方式,可以根据实际需求选择将样式作为独立文件还是直接内联到 JS 中。
样式预处理器的内联查询支持
除了基础的 CSS 内联导入外,RSBuild 还对主流 CSS 预处理器进行了增强:
- Sass/SCSS 支持:通过
plugin-sass插件,现在可以在 Sass 文件中使用内联查询 - Less 支持:
plugin-less插件同样获得了内联查询能力 - Stylus 支持:
plugin-stylus插件不仅支持内联查询,还新增了includeCSS选项类型和完善的 JSDoc 文档
这些改进使得开发者在使用预处理器时也能享受到内联样式带来的便利,同时保持了类型安全和良好的开发体验。
构建优化与修复
CSS 压缩控制
新版本修复了一个关于 CSS 压缩的重要问题:当 CSS 被内联时,现在可以正确地禁用压缩功能。这一改进确保了开发者在需要精确控制输出内容时(如某些特殊场景下的内联样式),能够获得预期的结果。
类型系统完善
针对 Stylus 插件的 define 选项,本次更新修正了其类型定义,提供了更准确的类型提示。同时为 includeCSS 选项添加了完整的类型定义和 JSDoc 文档,提升了开发时的代码提示体验。
开发者体验提升
- 文档完善:更新了相关文档,明确说明了在使用
pluginSvgr时需要同时使用pluginReact的注意事项,并新增了关于 CSS 内联查询参数的详细说明 - 错误修复:修正了英文文档中的拼写错误,提高了文档质量
- 日志优化:改进了 Webpack 模式下警告级别日志的输出条件,使构建输出更加清晰
技术实现优化
在内部实现上,RSBuild 团队进行了多项优化:
- 使用
rspack-chain方法替代了原有的merge操作,提高了配置处理的效率和可维护性 - 对 E2E 测试进行了结构调整,将 CSS 相关测试用例拆分到独立文件夹,提升了测试的组织性
- 更新了多个依赖项,包括将 Rspack 升级到 v1.3.0-beta.1 版本,确保与最新生态保持同步
总结
RSBuild v1.3.0-beta.2 版本通过引入 CSS 内联导入和对预处理器的增强,为开发者提供了更灵活的样式处理方案。同时,类型系统的完善和构建优化的改进,进一步提升了开发体验和构建效率。这些改进使得 RSBuild 在现代前端工具链中的地位更加稳固,为开发者构建高性能应用提供了有力支持。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03