Vue2+Vite使用dhx-spreadsheet@3.0.2报global未定义错误求助
解决Vue + Vite环境下dhx-spreadsheet@3.0.2的
setImmediate错误 方法1:使用Node.js Polyfill插件(推荐)
该插件可自动补全dhx-spreadsheet依赖的Node.js环境API,包括setImmediate:
- 安装插件
npm install vite-plugin-node-polyfills --save-dev
- 修改
vite.config.js
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { nodePolyfills } from 'vite-plugin-node-polyfills' export default defineConfig({ plugins: [ vue(), nodePolyfills({ include: ['setimmediate'], globals: { global: true, process: true } }) ] })
方法2:手动引入setImmediate Polyfill
若不想使用插件,可手动添加polyfill:
- 安装
setimmediate包
npm install setimmediate --save
- 在项目入口文件(如
src/main.js)最顶部引入:
import 'setimmediate' import { createApp } from 'vue' import App from './App.vue' // 后续再引入dhx-spreadsheet相关代码 import '@dhx/trial-spreadsheet'
- 保留Vite配置中的
global指向设置:
export default defineConfig({ define: { global: 'globalThis' }, plugins: [vue()] })
额外排查点
- 确认dhx-spreadsheet的引入方式正确,优先使用
import而非require; - 若问题仍存在,可在Vite配置中强制预构建依赖:
export default defineConfig({ optimizeDeps: { include: ['dhx-spreadsheet'] } })
内容的提问来源于stack exchange,提问作者modos
相关产品推荐
相关产品推荐

