项目场景:
这里使用 vite-plugin-svg-icons配置后提交代码 husky提示报错
问题描述
这里根据官网提示进行配置,然后提交gitee出现报错process未定义
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
export default () => {
return {
plugins: [
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'src/icons')],
symbolId: 'icon-[dir]-[name]',
inject?: 'body-last' | 'body-first'
customDomId: '__svg__icons__dom__',
}),
],
}
}
报错截图:
原因分析:
Vite 配置文件中遇到的 ESLint 错误
'process' is not defined
,这是因为在 ES 模块环境中,默认情况下process
对象并不可用。这个对象是 Node.js 环境特有的,而 Vite、ESLint、以及其他基于 ES 模块的工具可能不会默认提供对它的支持。
解决方案:
为了解决这个问题,您应该避免在 Vite 配置文件中直接使用
process
对象,尤其是在路径处理中。以下是一种改进的方式:createSvgIconsPlugin({ // 使用 import.meta.url 替代 process.cwd() 来获取当前工作目录 iconDirs: [path.resolve(fileURLToPath(new URL('./src/icons', import.meta.url)))], }),