在nuxt配置中,我有env对象

env: {
    hey: process.env.hey || 'hey'
},

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

{{ process.env.hey }}

我搞错了

无法读取未定义的属性"env"

知道是什么原因吗?

推荐答案

Nuxt < 2.13

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

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

Nuxt >= 2.13

您现在可以使用runtime config,如下所示:

nuxt.config

export default {
  publicRuntimeConfig: {
    message: process.env.hey || 'hello world!',
  },
};

template.vue

<template>
  <div>{{ $config.message }}</div>
</template>

Vue.js相关问答推荐

获取深度嵌套对象时无法读取空/未定义的属性

Nuxt 3 I18N浏览器检测不起作用

我如何使用 vuejs 在我的 url 中编码一个令牌

路径别名在 vue 脚本块中不起作用

在 Vue 文件中创建根 Vue 实例

带有参数的 Vuex 映射 Getter - 缓存?

Vue.js 和观察者模式

Defer推迟执行,直到外部脚本加载到 Vue.js

我可以从手表调用方法并安装吗?

Vue 单元测试:您正在开发模式下运行 Vue?

使用 vue-property-decorator 时注册本地组件

v-model 不会检测到 jQuery 触发事件所做的更改

Vuetify 输入自动完成错误

如何将项目推送到 Vuejs 中数据对象的数组中? Vue 似乎没有关注 .push() 方法

Vue:如何在按钮单击时调用 .focus()

如何从 vue-apollo 中访问 this.$route?

vue-router如何持久化导航栏?

单击时交换组件

从 vuex 存储访问 $vuetify 实例属性

如果通过 jquery 更新,Vuejs 绑定不起作用