从vue-cli迁移至vite后构建报错:RollupError: Expression expected
我刚把项目从vue-cli迁移到vite,本地开发服务运行正常,但执行构建时出现如下错误:
x Build failed in 221ms
error during build:
RollupError: Expression expected
at getRollupError (file:///home/pc/Desktop/proj/node_modules/rollup/dist/es/shared/parseAst.js:379:41)
at ParseError.initialise (file:///home/pc/pc/proj/node_modules/rollup/dist/es/shared/node-entry.js:11172:28)
at convertNode (file:///home/officeubuntu23/pc/proj/node_modules/rollup/dist/es/shared/node-entry.js:12914:10)
at convertProgram (file:///home/officeubuntu23/pc/proj/node_modules/rollup/dist/es/shared/node-entry.js:12234:12)
at Module.setSource (file:///home/officeubuntu23/pc/proj/node_modules/rollup/dist/es/shared/node-entry.js:14073:24)
at async ModuleLoader.addModuleSource (file:///home/pc/Desktop/proj/node_modules/rollup/dist/es/shared/node-entry.js:18712:13)
已尝试更新node和npm、重新安装rollup、执行npm update和npm install,问题仍未解决。
可能的解决方向:
排查代码语法错误:这个Rollup报错核心是解析AST时发现不符合规范的表达式,优先检查:
- 未闭合的括号、引号,或者多余的标点符号
- 错误的表达式写法(比如变量声明、条件判断中的语法疏漏)
- 项目中是否使用了非标准的JS语法(某些旧版语法扩展可能不被Rollup兼容)
可以用ESLint扫描整个项目,快速定位语法问题。
检查Vite配置文件:核对
vite.config.js/vite.config.ts中的配置项:- 插件配置是否存在参数格式错误
- 路径别名(
resolve.alias)是否配置正确,避免因路径解析错误导致的文件内容异常 build.rollupOptions中的自定义配置是否符合Rollup规范
排查第三方依赖:部分老旧依赖可能使用过时语法,或与Vite兼容性不佳:
- 更新可疑的依赖包到最新版本
- 在Vite配置中通过
optimizeDeps.include预构建依赖,或用rollupOptions.external排除特定依赖,验证是否解决问题
清理构建缓存:删除项目根目录下的
node_modules/.vite缓存文件夹,再重新执行npm run build检查Vue单文件组件:本地开发时DevServer的语法校验可能更宽松,构建时Rollup会严格解析:
- 检查
.vue文件中<script>/<script setup>部分的语法是否符合Vue 3规范 - 模板中的表达式是否存在隐性语法问题
- 检查
内容的提问来源于stack exchange,提问作者Hashim Saqib

