Vite构建报错无完整日志:无法定位触发RollupError的文件
定位Vite生产构建中RollupError的具体错误文件
执行npx vite build进行生产构建时出现如下错误:
vite v5.2.9 building for production... ✓ 21 modules transformed. x Build failed in 34ms error during build: RollupError: Expression expected at getRollupError (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/parseAst.js:392:41) at ParseError.initialise (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11170:28) at convertNode (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:12915:10) at convertProgram (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:12232:12) at Module.setSource (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:14076:24) at async ModuleLoader.addModuleSource (file:///Users/rtan0090/git/portal-workspace/frontend-common/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:18729:13) error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
日志未指明触发错误的具体文件,执行npx vite build -d也无法获取有效信息,可通过以下方法定位问题文件:
1. 配置Rollup输出详细错误信息
修改项目的vite.config.js或vite.config.ts,添加Rollup的日志配置,强制输出更详细的错误上下文:
import { defineConfig } from 'vite'; export default defineConfig({ build: { rollupOptions: { onwarn(warning, warn) { console.error(warning); // 打印所有警告和错误详情 }, }, }, logLevel: 'verbose', // 提升Vite日志级别 });
重新执行npx vite build,查看输出中是否包含具体的错误文件路径。
2. 逐步排查可疑文件
- 由于构建时已转换21个模块,可临时注释掉部分页面、组件的导入语句,分批执行构建,逐步缩小范围找到出错文件。
- 重点检查最近修改的文件,
RollupError: Expression expected通常是语法错误导致,比如缺失括号、分号,箭头函数语法错误,JSX标签未闭合等。
3. 用ESLint提前扫描语法问题
执行项目的ESLint检查命令:
npx eslint .
ESLint会快速定位所有语法不符合规范的文件,这类构建错误多数能通过语法检查提前发现。
4. 临时降级Rollup版本
若怀疑是Vite依赖的Rollup版本兼容性问题,可在package.json中锁定Rollup版本(比如rollup@4.17.0),然后重新安装依赖再尝试构建:
{ "devDependencies": { "rollup": "4.17.0" } }
执行yarn install或npm install后重新构建。
内容的提问来源于stack exchange,提问作者Richard Tan
相关产品推荐
相关产品推荐

