标签: dotenv

生产中的 Dotenv-webpack?

我正在尝试使用该dotenv-webpack插件。这在本地效果很好。但是当我部署到 Heroku 时失败了。

我已经根据这个git issue遵循了建议,但仍然有问题。

我的 webpack 配置如下所示:

const path = require('path');
const Dotenv = require('dotenv-webpack');

module.exports = {
  context: path.join(__dirname, '/src'),

  entry: {
    javascript: './js/index'
  },

output: {
  filename: 'bundle.js',
  path: path.join(__dirname, '/dist'),
},

resolve: {
  alias: {
    react: path.join(__dirname, 'node_modules', 'react')
  },
  extensions: ['.js', '.jsx'],
},

module: {
  rules: [
  {
    test: /\.jsx?$/,
    exclude: /node_modules/,
    loaders: ['babel-loader'],
  },
  {
    test: /\.html$/,
    loader: 'file?name=[name].[ext]',
  },
 ],
},
plugins: [
  new Dotenv({
    path: path.resolve(__dirname,'.env')
  }),
 ] …
Run Code Online (Sandbox Code Playgroud)

heroku reactjs webpack dotenv

6
推荐指数
2
解决办法
9914
查看次数

.env 使用 vscode 和 dotenv npm 调试断点

我正在使用 nodejs 服务器端 api,使用dotenv npm 包设置环境变量,并从package.json 中的npm 脚本运行代码,如下所示:

"scripts": {
   "local": "cross-env NODE_ENV=local nodemon ./bin/www"
}
Run Code Online (Sandbox Code Playgroud)

我需要的是配置我的 .vscode/launch.json 文件。

目前它看起来像:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}
Run Code Online (Sandbox Code Playgroud)

请指导我。谢谢,Gopal.R

debugging node.js npm visual-studio-code dotenv

6
推荐指数
1
解决办法
2650
查看次数

Symfony 4 Dotenv 转义特殊字符

我使用带有特殊字符的密码,symfony 返回错误“参数格式错误”。

我怎样才能使用这种密码? foo?bar

我尝试使用这样的变量

DATABASE_USER='foo'
DATABASE_PASSWORD='foo?bar'
DATABASE_URL=mysql://${DATABASE_USER}:${DATABASE_PASSWORD}@100.100.100.100:3306/db
Run Code Online (Sandbox Code Playgroud)

但不工作

escaping symfony symfony4 dotenv

6
推荐指数
2
解决办法
4147
查看次数

上传到 Zeit/Now 时客户端中暴露的 Nuxt 环境变量

我正在使用 Zeit/Now 部署 Nuxt 应用程序。在开发阶段,我使用一个.env文件将机密存储到我的 Contentful CMS,process.env并使用 nuxt-dotenv 包公开机密。为此,我在 nuxt.config 的顶部调用了require('dotenv').config().

然后我用 Zeit/Now 存储了这些机密,并创建了一个 now.json 来为构建和运行时设置它们,如下所示:

{
    "env": {
        "DEMO_ID": "@demo_id"
    },
    "build": {
        "env": {
          "DEMO_ID": "@demo_id"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用该设置,构建仅适用于索引页面,所有 Javascript 都不起作用。只有当我将 env-property 添加到nuxt.config.js文件时,该应用程序才开始在 Zeit-server 上正常工作。

require('dotenv').config()

export default {
...
env: {
   DEMO_ID: process.env.DEMO_ID
  },
...
  modules: [
    '@nuxtjs/dotenv'
  ],
...
}
Run Code Online (Sandbox Code Playgroud)

但是:当我检查上传的 Javascript 文件时,我的秘密被暴露了,这显然是我不想要的。

我在这里做错了什么?谢谢你的帮助。

environment-variables nuxt.js vercel dotenv

6
推荐指数
1
解决办法
1029
查看次数

在 Spring Boot 中使用 dotenv 文件

我想使用 dotenv 文件来配置我的 Spring Boot 应用程序。

做这个的最好方式是什么?

RubyNode世界中,我只是创建.env文件并将所有内容从那里加载到应用程序环境中。

我不喜欢为我的应用程序等创建单独的配置文件。我只想将我在文件中指定的任何环境变量加载到我的应用程序中。

environment-variables 12factor spring-boot dotenv

6
推荐指数
2
解决办法
4759
查看次数

如何使用 dotenv 在另一个环境变量名称和值中使用一个环境变量值?

对于我的测试框架,我使用dotenv来读取和初始化不同测试环境的环境变量。现在我想使用特定的环境变量值作为另一个环境变量的值和名称的一部分。

因此,我在使用 .envexport INSTANCE=1文件初始化 env 文件之前设置了环境变量dotenv

这是我的环境文件,其中包含我想要初始化的所有环境变量dotenv

# INSTANCE as part of env var value
MY_DOMAIN="http://mypage/"$INSTANCE""

# INSTANCE as part of env var name
SUBDOMAIN"$INSTANCE"="/mysubdomain"
Run Code Online (Sandbox Code Playgroud)

而且这个指标也不起作用:

# INSTANCE as part of env var value
MY_DOMAIN=http://mypage/${INSTANCE}

# INSTANCE as part of env var name
SUBDOMAIN${INSTANCE}=/mysubdomain
Run Code Online (Sandbox Code Playgroud)

这可以通过 bash 来完成

export MY_DOMAIN="http://mypage/"$INSTANCE"" SUBDOMAIN"$INSTANCE"="/mysubdomain"

echo $MY_DOMAIN
http://mypage/1

echo $SUBDOMAIN1
/mysubdomain
Run Code Online (Sandbox Code Playgroud)

但使用dotenv它对我来说不起作用。我有以下代码:

const dotenv = require("dotenv");
var result = dotenv.config({ path: '/path/to/my/env/file' });

console.log(result.parsed);
Run Code Online (Sandbox Code Playgroud)

产生 …

javascript environment-variables dotenv

5
推荐指数
1
解决办法
5247
查看次数

安装包时向 .env 添加新的环境变量

在我们公司,几个内部项目依赖相同的复制代码部分来处理与相同 API(例如:Google Suite、JIRA 等)的连接。为了避免为新项目一遍又一遍地复制相同的代码,我想创建收集这些 A​​PI 类的 Symfony 包。

棘手的部分:我正在寻找一种方法将必要的环境变量自动添加到.env,就像Symfony 的配方结构那样。但由于这些项目只能在内部使用,因此将它们的配方配置推送到公共存储库对我来说是行不通的。添加自定义配方服务器(如moay 的服务器)对我来说看起来很有趣,但需要在每个项目中进行额外配置composer.json

有没有更好的方法来解决这个问题,这样我就可以简单地在我的项目中定义所需的变量,这样它们就可以在.env没有任何额外魔法的情况下被添加进来?

注意:任何需要symfony/flex都可以,因为这应该是我们公司所有新项目的一部分

这些是我想避免的解决方案:

  • 将配置添加到包/包本身,以便这些配置值置于版本控制之下
  • 通过安装后手动运行的任何其他命令添加配置

php symfony composer-php dotenv

5
推荐指数
1
解决办法
454
查看次数

Vue cli - 类型错误:无法读取未定义的属性“env”

我正在尝试在我的 vue 应用程序中使用process.env。我创建了两个.env文件,一个用于生产.env.production,另一个用于开发.env.development。这两个文件位于我的 vue 项目的根目录中,但 vue cli 会忽略它们。我创建了一个环境变量,在组件中调用该Home.vue变量来设置不同的开发/生产图像的路径。问题是,构建后,当我运行我的应用程序来测试它时,我会收到此错误

TypeError: Cannot read property 'env' of undefined
Run Code Online (Sandbox Code Playgroud)

它与我要加载的图像的 src 标签中设置的路径有关

<img class="img-fluid" :src="`${process.env.VUE_APP_PATH_START}/img/background.jpg`">
Run Code Online (Sandbox Code Playgroud)

我的.env文件看起来像这个开发环境文件

VUE_APP_PATH_START = ../assets/
Run Code Online (Sandbox Code Playgroud)

生产环境文件

VUE_APP_PATH_START = /
Run Code Online (Sandbox Code Playgroud)

我在构建中遇到此错误是否有任何原因以及如何修复它?

environment-variables vue.js vue-cli dotenv

5
推荐指数
1
解决办法
6231
查看次数

如何在SvelteKit项目中使用dotenv?

我正在尝试在 SvelteKit 项目中使用 dotenv.config() 。

我可以npm run build成功运行。但是当我尝试启动服务器(使用node build)时,它会抛出Error: Dynamic require of "fs" is not supported.

我尝试注释掉 dotenv 部分src/routes/test.js并再次构建,这次服务器启动没有任何错误。(我创建的项目npm init svelte@next没有使用typescript,除了这里的代码之外,其他什么都没有改变)

这里应该如何使用dotenv在运行时加载环境变量?

svelte.config.js

import node from '@sveltejs/adapter-node';

const config = {
    kit: {
        adapter: node(),
        target: '#svelte'
    }
};

export default config;
Run Code Online (Sandbox Code Playgroud)

/src/routes/test.js

import dotenv from 'dotenv';

dotenv.config();

export function get() {
    return {
        body: {
            test: process.env.TEST
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.env

TEST=123
Run Code Online (Sandbox Code Playgroud)

dotenv sveltekit

5
推荐指数
2
解决办法
1万
查看次数

为什么 .env 文件被添加到 build/web/assets 中?

我正在使用 flutter_dotenv 来管理一些 API 密钥 - https://pub.dev/packages/flutter_dotenv

根据说明,我应该将 .env 文件添加到 pubspec.yaml 中的资产中,但是当我运行时,flutter build web它将 .env 文件添加到构建中以进行部署。这对我来说似乎不正确,因为根据我的理解,.env 文件不应该公开部署在任何地方。

environment-variables flutter dotenv flutter-web flutter-dotenv

5
推荐指数
1
解决办法
1161
查看次数