v-viewer
v-viewer copied to clipboard
编译后出现 Uncaught SyntaxError: Unexpected token '...'
esbuild 中配置了 pure, 移除了所有 console.log 后, 会出现错误信息:
Uncaught SyntaxError: Unexpected token '...'
找到原因,是因为这个文件 https://github.com/mirari/v-viewer/blob/v3/src/directive.ts 98行 log 方法里 console.log(...args), 被 esbuild 去除了 console.log 后, 代码变成了:
debug && ...args
有什么办法能解决这个问题呢?
我认为这其实算是esbuild的pure组件bug,需要看下它的配置项是否允许例外,将node_modules排除
我看到esbuild的issue有讨论类似问题,不过没有提到node_modules内部出现此类问题的情况,我空的时候去问下。你也可以找找是否有关闭pure配置以外的其他途径。 https://github.com/evanw/esbuild/issues/1879
能提供下你的框架环境吗?我需要尝试复现这个问题。
https://github.com/vbenjs/vue-vben-admin 用的这个框架. 他的 vite 配置里加了 esbuild.pure , 然后出现了这个问题。
如果用一个最小的 vue3+vite, 配置上 esbuild.pure 应该也可以复现。
已提交issue,esbuild反馈是bug,之后会修复。 目前可以暂时关闭pure配置项,或者使用drop配置项来完全移除console.log,代价是console.error等方法也会移除。
drop: ['console', 'debugger'],