‘process‘ is not defined报错

文章讲述了在使用vite-plugin-svg-icons时遇到的process未定义错误,原因是ESLint和Vite在ES模块环境下不支持process对象。解决方案是通过import.meta.url替换process.cwd()获取当前工作目录。
摘要由CSDN通过智能技术生成

项目场景:

这里使用 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)))],
    }),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值