Vuepress2 打包报错 TypeError: Invalid value used as weak map key
2022年7月19日
Vuepress2 打包报错 TypeError: Invalid value used as weak map key
发生问题背景
搭建Vuepress博客弄程序员专属网站系列技术文章和Java面试题,通过自己开发的代码和之前积攒的小程序面试题生成大量md文件,本地运行也很正常,等待一切都准备就绪,使用docs:build命令打包,结果就发生了下面的错误信息,打包失败。
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
| Compiling with vite
(!) Some chunks are larger than 500 KiB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/guide/en/#outputmanualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
√ Compiling with vite - done
× Rendering pages - failed
TypeError: Invalid value used as weak map key
at WeakMap.set (<anonymous>)
at normalizePropsOptions (F:\yoodb\node_modules\@vue\runtime-core\dist\runtime-core.cjs.prod.js:3179:15)
at createComponentInstance (F:\yoodb\node_modules\@vue\runtime-core\dist\runtime-core.cjs.prod.js:5695:23)
at renderComponentVNode (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:168:22)
at Object.ssrRenderComponent (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:605:12)
at _sfc_ssrRender$3_ (F:\yoodb\yoodb\.vuepress\.temp\.server\app.js:37228:24)
at renderComponentSubTree (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:250:13)
at renderComponentVNode (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:185:16)
at renderVNode (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:292:22)
at renderComponentSubTree (F:\yoodb\node_modules\@vue\server-renderer\dist\server-renderer.cjs.prod.js:256:13)
分析原因
通过网上搜索资料发现md文件中不能使用<font>一段描述</font>
这样类似的font标签,否则会导致编译不通过。
解决办法
可以将font标签修改为<div>
或者<p>
标签,比如
<div style="color: #000000">一段描述</div>
效果和font标签一样。
md文件中存在类似如下截图的特殊字符也会导致打包失败。
其他标签也有可能出现上述情况,md文件比如<template>
也会造成这种打包失败的情况。