我想.env使用Vite从文件中加载环境变量
我使用了文档import.meta.env中提到的对象
.env文件:
TEST_VAR=123F
Run Code Online (Sandbox Code Playgroud)
import.meta.env当尝试通过->访问此变量时,import.meta.env.TEST_VAR它返回未定义。
那么,我怎样才能访问它们呢?
给定一个非常简单的docker-compose文件:
version: '3'
services:
test:
image: busybox
env_file:
- my.env
command: env
Run Code Online (Sandbox Code Playgroud)
以及my.env其中引用的文件:
FOO=BAR
Run Code Online (Sandbox Code Playgroud)
按预期运行docker-compose up打印(容器名称前缀默认为父目录的名称):
test_1 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
test_1 | HOSTNAME=00dc4fa7f38a
test_1 | FOO=BAR
test_1 | HOME=/root
tmp_test_1 exited with code 0
Run Code Online (Sandbox Code Playgroud)
env_file从外部覆盖变量(如 中FOO=SOMETHING_ELSE docker-compose up),但不会反映在容器中。输出仍将FOO=BAR包含my.env.
是否可以以某种方式覆盖env_file从外部定义的变量,而不更改文件内部的变量?docker-compose.yml我知道如果我用以下行扩展我的文件就会起作用
environment:
- FOO
Run Code Online (Sandbox Code Playgroud)
然而,这并不能真正扩展到更大数量的变量——人们总是必须确保env_file和docker-compose.yml保持同步以防止出现严重的错误。
我想知道是否有任何方法可以注释.env文件中的一个块或多行。我知道通过使用#我们可以注释一行,但我想一次注释多行。目前我正在 ubuntu 中使用 Visual Studio 代码并从事 Vue(Javascript) 项目。任何帮助,将不胜感激。提前致谢。
我一直在尝试使用 Github actions CI/CD 工作流程自动部署 firebase 云功能。这些函数是使用 NodeJs、Express 和 Typescript 开发的。所有环境变量都保存在 .env 文件中,该文件未在 github 上跟踪(出于显而易见的原因)
main.yaml 文件(在 .github/workflows/ 中)
name: CI/CD
on:
push:
branches: [ deploy ]
pull_request:
branches: [ deploy ]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: create env file
run: |
cd functions
touch .env
echo "${{ secrets.ENV_VARS }}" >> .env
- name: Install npm packages
run: |
cd functions
npm install
- name: Deploy to Firebase
uses: w9jds/firebase-action@master
with:
args: deploy
env: …Run Code Online (Sandbox Code Playgroud) environment-variables google-cloud-functions env-file github-actions cicd
.env 文件用于存储某个项目中的环境变量。我希望能够轻松地以编程方式修改 .env 文件,在这种情况下,据我所知,使用 JSON(.json 文件)会容易得多。
假设我有这样的文件 env.json:
{
"use_shell_version": true,
"verbosityLevel":3,
"color": "yellow"
}
Run Code Online (Sandbox Code Playgroud)
有没有好的方法可以导出这些?是否有一些 .env 文件格式可以轻松地由机器而不是手动修改?
Github Action 类似功能的等效配置是什么,如下命令:
env-cmd -f .env cypress run --component
Run Code Online (Sandbox Code Playgroud)
我尝试将一个环境变量导入到 Github Action 中,但不起作用:
env:
CYPRESS_PUBLIC_PATH: /public/
Run Code Online (Sandbox Code Playgroud)
因此,我更喜欢加载 env 文件并直接由应用程序/cypress 使用,而不是一一定义 env 变量。
我找不到任何可以在 Github Action 中加载一个 env 文件的文档。或者也许有一种方法可以在 Github Action 中运行上面完全相同的代码?
更新:我按照@Maddie.Squerciati的指示在Cypress配置上定义env文件,它在我的本地工作,但是github操作仍然无法识别/使用env文件。
这是我的 github 操作配置:
name: Cypress
uses: cypress-io/github-action@v5
with:
config-file: cypress.config.js
command: npm run cy:run-unit
component: true
record: false
parallel: false
browser: chrome
Run Code Online (Sandbox Code Playgroud) environment-variables cypress env-file github-actions env-cmd