Vite3 + Svelte3構(gòu)建Web應(yīng)用報錯:'process is not defined'

Vite爬坑日記: 在使用 Vite3 + Svelte3 構(gòu)建 Web 應(yīng)用時,控制臺報錯:process is not defined。

Vite

問題原因

Viteprocess.env 全局環(huán)境變量被移除了,相當(dāng)于 process.env = null,如果項目中有依賴 process.env 這個對象,并進(jìn)行了 get/set 操作時就會出現(xiàn)報錯。

解決辦法

  • 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 變量。官網(wǎng)地址

define
類型: Record<string, string>
定義全局常量替換方式。其中每項在開發(fā)環(huán)境下會被定義在全局,而在構(gòu)建時被靜態(tài)替換。


歡迎訪問:天問博客

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容