SuperAPI AI 工具集

meteor-modern-build-stack

编程与开发

查看项目

更新于 10-16 06:46

技能介绍

用途:配置或调优 Meteor 3 的现代构建栈。该栈由两条独立可选轨道组成,可单独或同时启用。

一、Meteor Bundler Optimizations(3.3+):一个开关即用 SWC 替代 Babel、SWC 压缩器替代 Terser、@parcel/watcher 替代旧 watcher,开发模式跳过旧架构。在 package.json 加入 "meteor": { "modern": true }。可分别用 transpiler、minifier、watcher、webArchOnly 设 false 退出单项;SWC 可按 excludeApp、excludeNodeModules、excludePackages、excludeLegacy 限定范围。开启 transpiler.verbose 可诊断 Babel 回退,常见原因是嵌套 import。

二、Rspack Bundler Integration(3.4+):通过 meteor add rspack 让 Atmosphere 包把应用代码编译委托给 Rspack,获得 tree shaking、ESM、HTTP 代码分割与现代插件。首次运行会安装项目级 Rspack 配置,应用代码转交 Rspack,Meteor 仍处理 Atmosphere 包并产出最终 bundle。要求入口点在 package.json 中,且应用代码无嵌套 import。迁移建议先开现代优化、清理 Babel 回退,再加 Rspack。

配置文件:SWC 依次读取 .swcrc、swc.config.js、swc.config.ts,只用第一个,文件名必须为 .swcrc。可安装 @swc/helpers 将辅助函数外置以减小包体。Rspack 配置用 rspack.config.js/ts/mjs/cjs,通过 @meteorjs/rspack 的 defineConfig,回调接收带构建标志与辅助函数的 Meteor 参数。.meteorignore 语法同 .gitignore,用于跳过非必要目录,注意不要误匹配 Rspack 生成的主模块。

限制与注意:新应用骨架通常默认两者均开启,但精简或兼容取向骨架可能省略;应检查生成的 package.json 与 .meteor/packages,而非仅凭版本推断。不要编辑 _build/ 等自动生成目录;不要把 .gitignore 直接复制为 .meteorignore;不要因启用 Rspack 就移除自定义 Atmosphere 压缩包,需先对比生产产物;生产默认仍出旧架构 bundle,如需在生产也去掉,往 .meteor/platforms 加 modern。多实例需使用不同端口与 METEOR_LOCAL_DIR。文档未提供具体版本配对之外的更多信息。