vue.js - process.env.variable 在本地开发中工作,但在部署到 heroku 后,它在 nuxt.js 中不起作用
问题描述
我正在使用 nuxt.js 并尝试动态显示图像。这就是为什么我在 .env 文件中使用 BASE_URL 变量并根据本地环境中的 BASE_URL 访问图像文件的原因。
.env 文件
BASE_URL = https://pctool.herokuapp.com
DB_HOST = dummy_host_name
DB_USER = dummy_user_name
DB_NAME = dummy_database_name
PASSWORD = dummy_password
在 image.vue 文件中
模板
<img class="pic-0" :src="makeImagePath(product.image[0])"/>
脚本
methods: {
makeImagePath (img_name) {
return process.env.BASE_URL + "/product/" + img_name;
}
}
但是在将代码部署到 Heroku 之后,无法使用 env 变量。
heroku 环境
部署的输出是
但是,如果我像下面的脚本那样硬编码 URL
methods: {
makeImagePath (img_name) {
return "https://pctool.herokuapp.com/product/" + img_name;
}
}
然后它在两个地方都有效。现在在那个位置 URL 不是动态的,我必须将 URL 从本地更改为生产,只要我在项目中使用该概念。这就是为什么我要使 URL 动态化,以便在部署期间没有冲突。
解决方案
推荐阅读
- laravel - 使用分页从两个关系(一个是通过访问器)中获取记录
- r - 合并R中具有不同列数的数据框列表?
- python - Python:如何为熊猫中的字典向量化函数
- c# - 如何在同一行 C# 上显示 For 和 Reverse For 循环
- flutter - Flutter:SystemChrome.setEnabledSystemUIOverlays 值何时会覆盖后续的屏幕覆盖值
- php - ajax like 按钮成功不正确
- c# - jQuery数据表在foreach循环加载数据时抛出错误
- security - HWID 保护和克隆
- javascript - ForEach 循环 PHP 中的倒数计时器
- python - 为什么 spaCy 依赖符号定义“case”和“compound”不能像 spacy.symbols 包中的“nsubj”一样被识别?