无法访问组件 nuxt 中的 process.env 变量

BT1*_*101 13 environment-variables vue.js vuejs2 nuxt.js

在 nuxt 配置中,我有 env 对象

env: {
    hey: process.env.hey || 'hey'
},
Run Code Online (Sandbox Code Playgroud)

只要我想在组件模板中显示它:

{{ process.env.hey }}
Run Code Online (Sandbox Code Playgroud)

我有一个错误

无法读取未定义的属性“env”

知道是什么原因造成的吗?

Dav*_*don 17

Nuxt < 2.13

process不能直接用于模板,但您可以通过创建计算属性或将其添加到组件的状态来访问它。下面是一个例子:

<template>
  <div>{{ message }}</div>
</template>
Run Code Online (Sandbox Code Playgroud)
export default {
  computed: {
    message() {
      return process.env.hey;
    },
  },
};
Run Code Online (Sandbox Code Playgroud)

Nuxt >= 2.13

您现在可以像这样使用运行时配置

配置文件

export default {
  publicRuntimeConfig: {
    message: process.env.hey || 'hello world!',
  },
};
Run Code Online (Sandbox Code Playgroud)

模板.vue

<template>
  <div>{{ $config.message }}</div>
</template>
Run Code Online (Sandbox Code Playgroud)