Vite3 + Svelte3构建Web应用报错:‘process is not defined‘

本文介绍在使用Vite3+Svelte3构建Web应用时遇到的process未定义错误及其解决方法。该问题源于Vite移除了process.env全局变量导致。通过在vite.config.js中增加define配置来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vite爬坑日记: 在使用 Vite3 + Svelte3 构建 Web 应用时,控制台报错:process is not defined

Vite

问题原因

Viteprocess.env 全局环境变量被移除了,相当于 process.env = null,如果项目中有依赖 process.env 这个对象,并进行了 get/set 操作时就会出现报错。

解决办法

  • vite.config.js 配置文件中增加 define: { "process.env": {} }
import { defineConfig, loadEnv } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
import sveltePreprocess from "svelte-preprocess";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    svelte({
      preprocess: sveltePreprocess(),
    }),
  ],
  define: {
    "process.env": {}
  }
})

PS: 这里涉及到 Vite3 配置 / 共享选项 中的 define 变量。官网地址

define
类型: Record<string, string>
定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。


欢迎访问:天问博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值