在ViteJS React文件中使用NodeJs环境变量

n53p2ov0  于 2023-04-29  发布在  Node.js
关注(0)|答案(1)|浏览(139)

我使用ViteJs来生成一个ReactJs项目。就在眼前。我们可以看到下面的配置文件:

const isDev = process.env["DFX_NETWORK"] !== "ic"
const network = process.env.DFX_NETWORK ||
   (process.env.NODE_ENV === "production" ? "ic" : "local");

VueJ在Javascript文件中使用import.meta.env(文档)来使用环境变量。但是对于我的用例,我还需要在我的javascript/typescript文件中使用nodejs process.env
我如何设置ViteJs以便也可以使用process.env

bkhjykvo

bkhjykvo1#

import.meta.env中,一旦构建的代码运行,VITE_*环境变量就会自动暴露给构建的应用程序,如您所述。
可以使用vite build configs define属性来替换构建输出中的特定字符串。可以通过以下方式将环境变量选择到该过程中:

import { defineConfig, loadEnv } from 'vite'

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), '')

  return {
    define: {
      'process.env': {
        'DFX_NETWORK': env.DFX_NETWORK,
        'NODE_ENV':  env.NODE_ENV,
      }
    },
  })
}

您不太可能希望以这种方式将所有process.env暴露给构建的应用程序,因为这可能包括来自构建系统的私有信息。

相关问题