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


字数:229 阅读时长:1分钟 阅读:85

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

Vite

问题原因

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

解决办法

  • vite.config.js 配置文件中增加 define: { "process.env": {} }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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>
定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。


欢迎访问:天问博客

本文作者: Tiven
发布时间: 2022-09-18
最后更新: 2022-09-21
本文标题: Vite3 + Svelte3构建Web应用报错:'process is not defined'
本文链接: https://www.tiven.cn/p/f040b1b8/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
欢迎留言,提问 ^_^