rs build 的process.env的值undefined解决方案

首先,一定要明确,如果新增或者改了一个process.env值,必须要重新构建才能取值,否则会报错Uncaught ReferenceError: process is not defined 但是这个没关系,重启就行了

其次,rsbuild的默认export,必须以PUBLIC_开头,就像next的必须以什么NEXT__xxxx开头一样

再次,里面获取不到就要在rsbuild.config.ts里加,在

source: {

entry: await getEntries(),

define: {

'process.env.PUBLIC_1111': JSON.stringify(

process.env.PUBLIC_1111 ?? '',

),

最后,可以额外import,虽然不知道有用没用。(应该是没用吧,算是自定义的)

import { defineConfig, loadEnv } from '@rsbuild/core';

const { publicVars } = loadEnv({ prefixes: 'PUBLIC_' });

console.log(publicVars, 'publicVars');

export default defineConfig({

source: {

entry: await getEntries(),

define: {

...publicVars,

最关键的来了

所以env不能放在env/local下面,读取不到,完完全全放在根目录下才能读到,结束,坑。


更新:以上几步其实都不需要,都是验证的,最关键是最后一步,只要环境对,加上有PUBLIC_前缀就ok。只是记录下

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端