在Vercel部署Docusaurus站点时遭遇未终止字符串常量错误
解决Vercel部署Docusaurus站点时的未终止字符串常量错误
问题概述
在Vercel部署Docusaurus站点(仓库:https://github.com/Mrdev88/useimg,分支:draft/epic-ride,提交:68b4e7e)时触发构建失败,错误指向docusaurus.config.js第23行第20列存在ParseError: Unterminated string constant(未终止字符串常量),尝试补充缺失的单引号后问题仍未解决。
完整错误日志
[20:14:55.571] Running build in Washington, D.C., USA (East) – iad1 (Hive) [20:14:55.697] Cloning github.com/Mrdev88/useimg (Branch: draft/epic-ride, Commit: 68b4e7e) [20:14:55.709] Skipping build cache, deployment was triggered without cache. [20:14:55.990] Cloning completed: 292.545ms [20:14:56.239] Running "vercel build" [20:14:56.674] Vercel CLI 32.4.1 [20:14:57.331] Warning: Detected "engines": { "node": ">=18.0" } in your `package.json` that will automatically upgrade when a new major Node.js Version is released. Learn More: http://vercel.link/node-version [20:14:57.334] Installing dependencies... [20:14:57.680] yarn install v1.22.17 [20:14:57.770] [1/5] Validating package.json... [20:14:57.773] [2/5] Resolving packages... [20:14:58.252] [3/5] Fetching packages... [20:15:11.016] [4/5] Linking dependencies... [20:15:11.019] warning "@docusaurus/core > react-loadable-ssr-addon-v5-slorber@1.0.1" has unmet peer dependency "react-loadable@*". [20:15:11.030] warning "@docusaurus/core > react-dev-utils > fork-ts-checker-webpack-plugin@6.5.3" has unmet peer dependency "typescript@>= 2.7". [20:15:11.043] warning " > @mdx-js/react@3.0.0" has unmet peer dependency "@types/react@>=16". [20:15:11.044] warning "@docusaurus/preset-classic > @docusaurus/plugin-debug > @microlink/react-json-view > flux@4.0.4" has incorrect peer dependency "react@^15.0.2 || ^16.0.0 || ^17.0.0". [20:15:11.045] warning "@docusaurus/preset-classic > @docusaurus/theme-search-algolia > @docsearch/react > @algolia/autocomplete-preset-algolia@1.9.3" has unmet peer dependency "@algolia/client-search@>= 4.9.1 < 6". [20:15:11.045] warning "@docusaurus/preset-classic > @docusaurus/theme-search-algolia > @docsearch/react > @algolia/autocomplete-core > @algolia/autocomplete-plugin-algolia-insights@1.9.3" has unmet peer dependency "search-insights@>= 1 < 3". [20:15:11.046] warning "@docusaurus/preset-classic > @docusaurus/theme-search-algolia > @docsearch/react > @algolia/autocomplete-core > @algolia/autocomplete-shared@1.9.3" has unmet peer dependency "@algolia/client-search@>= 4.9.1 < 6". [20:15:18.344] [5/5] Building fresh packages... [20:15:19.095] Done in 21.42s. [20:15:19.124] Running "yarn run build" [20:15:19.305] yarn run v1.22.17 [20:15:19.336] $ docusaurus build [20:15:20.809] [20:15:20.811] Error: Docusaurus could not load module at path "/vercel/path0/docusaurus.config.js" [20:15:20.811] Cause: ParseError: Unterminated string constant. [20:15:20.811] /vercel/path0/docusaurus.config.js:23:20 [20:15:20.811] at loadFreshModule (/vercel/path0/node_modules/@docusaurus/utils/lib/moduleUtils.js:36:15) [20:15:20.813] at loadSiteConfig (/vercel/path0/node_modules/@docusaurus/core/lib/server/config.js:35:62) [20:15:20.813] at async loadContext (/vercel/path0/node_modules/@docusaurus/core/lib/server/index.js:31:63) [20:15:20.813] at async Command.build (/vercel/path0/node_modules/@docusaurus/core/lib/commands/build.js:60:21) { [20:15:20.813] [cause]: Error: ParseError: Unterminated string constant. [20:15:20.813] /vercel/path0/docusaurus.config.js:23:20 [20:15:20.813] at loadFreshModule (/vercel/path0/node_modules/@docusaurus/utils/lib/moduleUtils.js:33:16) [20:15:20.813] at loadSiteConfig (/vercel/path0/node_modules/@docusaurus/core/lib/server/config.js:35:62) [20:15:20.813] at async loadContext (/vercel/path0/node_modules/@docusaurus/core/lib/server/index.js:31:63) [20:15:20.814] at async Command.build (/vercel/path0/node_modules/@docusaurus/core/lib/commands/build.js:60:21) [20:15:20.814] } [20:15:20.814] [20:15:20.814] [INFO] Docusaurus version: 3.0.0 [20:15:20.814] Node version: v18.17.1 [20:15:20.831] error Command failed with exit code 1. [20:15:20.832] info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [20:15:20.849] Error: Command "yarn run build" exited with 1
排查与解决步骤
- 检查字符串转义与边界:仔细查看
docusaurus.config.js第23行及相邻行的字符串,确认是否存在:- 字符串内部未转义的同类型引号(比如单引号包裹的字符串里出现未转义的
'),需改为\'转义或切换引号类型 - 跨多行的字符串未使用反斜杠(
\)结尾或模板字符串(`)包裹,导致解析器认为字符串未终止
- 字符串内部未转义的同类型引号(比如单引号包裹的字符串里出现未转义的
- 清除隐形字符:如果是复制粘贴的内容,可能存在全角引号、不可见控制字符等,建议手动重新输入该行代码
- 本地预构建验证:在本地运行
yarn build或npm run build,提前发现并修复错误,避免反复部署试错 - 缓存清理:本地执行
yarn cache clean或npm cache clean --force,重新安装依赖后再尝试构建
内容的提问来源于stack exchange,提问作者Mahdir2111
相关产品推荐
相关产品推荐

