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,

最关键的来了

rs build 的process.env的值undefined解决方案_第1张图片
所以env不能放在env/local下面,读取不到,完完全全放在根目录下才能读到,结束,坑。


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

你可能感兴趣的:(javascript,开发语言,ecmascript)