You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quasar项目执行quasar dev编译失败,出现SyntaxError语法错误

解决Quasar项目quasar dev编译时graphql依赖语法错误问题

问题核心

重启搁置的Quasar项目后执行quasar dev,出现语法错误:SyntaxError: Unexpected string,根源是graphql依赖的jsutils模块中,globalThis.process.env.NODE_ENV被错误替换为globalThis."development",导致语法非法。

解决方案

1. 修正Vite环境变量替换规则

Quasar默认使用Vite构建,检查quasar.config.js中的Vite配置,确保process.env.NODE_ENV的替换逻辑正确,避免盲目替换process或process.env整个对象:

// quasar.config.js
module.exports = function (/* ctx */) {
  return {
    // ...其他配置
    build: {
      extendViteConf(viteConf) {
        viteConf.define = viteConf.define || {};
        // 正确替换process.env.NODE_ENV为当前环境值
        viteConf.define['process.env.NODE_ENV'] = JSON.stringify(process.env.NODE_ENV || 'development');
        // 删除可能存在的错误全局替换规则
        delete viteConf.define['process'];
        delete viteConf.define['process.env'];
      }
    }
  };
};

2. 锁定graphql依赖版本

搁置项目期间依赖可能自动更新,导致与Quasar/Vite构建逻辑不兼容。在package.json中锁定graphql的具体版本(比如你之前项目正常运行时的版本),然后执行:

rm -rf node_modules package-lock.json # 或 yarn.lock
npm install # 或 yarn install

3. 彻底清理构建缓存

除了常规清理,还要清理Vite的缓存目录:

quasar clean
rm -rf node_modules/.vite

4. 检查残留插件配置

即使卸载了unplugin-auto-import,也要确保quasar.config.js中没有残留的该插件配置代码,避免影响构建逻辑。

内容的提问来源于stack exchange,提问作者mainstreetmark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:52:19