vite 关于 global is not defined 问题

问题:在使用第三方包的时候也报错:global is not defined

原因:Vite 是 ESM 机制,有些包内部使用了 node 的 global 对象

1、最简单polyfill:

window.global ||= window;


 export default defineConfig({
    define: {
      global: 'window',
    },
  })

2、修改打包配置:

//the issue seemed esbuild-specific
//Referencing https://gist.github.com/FbN/0e651105937c8000f10fefdf9ec9af3d
export default defineConfig({
    optimizeDeps: {
      esbuildOptions: {
        define: {
          global: 'globalThis'
        }
      }
    }
  })

你可能感兴趣的:(前端,javascript,开发语言)