dotenv

不要在 Flask 程序上层目录创建 .env 和 .flaskenv 文件

微笑、不失礼 提交于 2020-04-12 19:22:53
如果你安装了 python-dotenv,同时在 Flask 程序的上层目录创建了 .env 或 .flaskenv 文件,那么你将没法成功执行 flask run 等命令,因为这会导致 Flask 没法正确找到对应的 Flask 程序实例。 这个问题从 Flask 开始引入 CLI 机制开始就存在了,困扰了我两年。18 年偶然在用户根目录创建了一个 .env 文件,发现 Flask 程序没法运行了,当时遇到的各种 bug 太多,没仔细考虑这两者之间的关联。后来经过几次测试,才确定下来是上层目录的 .env 和 .flaskenv 文件导致,但是一时找不到原因,就暂时放下了。直到 19 年 11 月,花了几个小时排查,还是没找到原因。 中间花了很长时间来追踪 Windows 特定的 Flask 程序无法启动的 bug(TypeError: environment can only contain strings),实在是怕了。因为 Flask 的 CLI 涉及太多东西,有时你要钻进 python-dotenv( #101 ) 和 Werkzeug( #1320 ) 才能找到问题的原因。 但是问题不解决的话,你永远睡不好觉。《 Flask Web 开发实战 》第一部分的 示例程序 都放在了一个程序仓库,而且都放在了子目录,这意味着如果读者错误的在仓库根目录创建 .env 和

NextJS with Express : copying files to server and running “npm run start” fails

核能气质少年 提交于 2020-03-25 13:00:27
问题 I am creating a NextJS application and I want to copy ONLY the production files to my server and deploy the application. This works perfectly fine when I do NOT use Express, however when i do use Express the app no longer runs on the server as it says it can not find the "pages" directory. Project structure |- .next |- client |- polyfills.js |- components |- CompA.js |- CompB.js |- etc |- node-modules |- ... |- pages |- index.js |- page1.js |- page2.js |- etc |- public |- appIcon.png |-

Serverless 多环境配置方案探索

ぃ、小莉子 提交于 2020-03-25 10:04:16
3 月,跳不动了?>>> 相信读完前面几篇有关 Serverless Component 文章的小伙伴已经体验到,它给我们开发带来的遍历。但是实际我们的日常开发项目中,并不仅仅只是单纯地一个项目部署那么简单,我们的敏捷开发流程中,还有开发、联调、测试、预发布、正式环境等关键词。那么有小伙伴就有疑惑了,我的业务开发完了,如何管理不同环境的配置呢?比如测试环境的数据库配置和正式环境的如何切换?于是抛转引入,写了此篇文章,来跟大家一起学习和探讨。 读完本篇将你将了解到: Serverless Component 部署原理 dotenv 模块的基本使用 如何基于 dotenv 来切换多环境配置 如何在 serverless.yml 提炼通用配置 Serverless Component 理论指导实践 在介绍方法之前,这里需要先对 Serverless Component 部署原理做个简单介绍。当我们在 serverless.yml 文件中配置好项目,执行 sls --debug 命令后,究竟发生了什么? 核心步骤如下: 1. 初始化 context:包括分析component依赖树,通过 dotenv 注入环境变量等。 2. 安装依赖组件模块:不同于 `npm install`, serverless component 会将 `component` 指定的 npm 模块下载并解压放到 `

using dotenv path with JEST

老子叫甜甜 提交于 2020-03-05 05:36:06
问题 I'm trying to use a different .env file for my Jest tests, but so far I couldn't make it work. package.json: { "name": "task-manager", "version": "1.0.0", "description": "", "main": "index.js", "module": "main.js", "scripts": { "start": "node -r esm src/index.js", "dev": "nodemon -r esm -r dotenv/config src/index.js dotenv_config_path=./config/.env", "test": "jest --setupFiles dotenv/config --watch" }, "jest": { "testEnvironment": "node" }, "keywords": [], "author": "", "license": "ISC",

ThinkPHP开发必备composer扩展包

≡放荡痞女 提交于 2020-01-07 06:39:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文假设读者有能力正常使用composer 环境隔离 dotenv 真实世界的开发往往是这样, 多个团队成员共同开发, 线上线下的代码通过版本控制系统保持一致. 但你无法保证也没理由要求所有机器上的应用配置一致. 例如,要求所有成员使用相同的本地数据库用户名和密码是不合理的. 线上线下使用相同的数据库配置更加不合理. 我们有很多种方式避免这种问题, 一种常见的方法是, 将配置文件重命名为config.example.php, 然后在每个部署的环境再重命名为config.php,并在分发时排除这个文件. 这种方法很容易实现,但缺点是他是静态的. 每当你增加了一项配置, 或者减少了一项配置, 都需要告诉别人手动处理config.php. 否则, 它的程序可能无法正常运行. 通过专门的环境配置区分不同的部署环境,是另一种被广泛采用的方案. 它的原理很简单: 不同的部署环境中, 需要区别的配置往往非常有限, 所有将config.php纳入版本控制或者分发包中更合理. 这样config.php有变化时,其他环境中的应用可以第一时间更新. 那有限的几个有环境有关配置, 往往都是诸如数据库配置这种必不可少的. 将它们单独隔离出来更加合理. 通常, 实施这种方案会把 隔离的配置放在一个名为 .env 的文件中. 因此这种方案,

[技术翻译]使用Nuxt生成静态网站

倾然丶 夕夏残阳落幕 提交于 2020-01-07 00:14:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本周再来翻译一些技术文章,本次预计翻译三篇文章如下: 04.[译]使用Nuxt生成静态网站 ( Generate Static Websites with Nuxt ) 05.[译]Web网页内容是如何影响电池功耗的 ( How Web Content Can Affect Power Usage ) 06.[译]在现代JavaScript中编写异步任务 ( https://web.dev/off-main-thread/ ) 我翻译的技术文章都放在一个github仓库中,如果觉得有用请点击star收藏。我为什么要创建这个git仓库?目的是通过翻译国外的web相关的技术文章来学习和跟进web发展的新思想和新技术。git仓库地址: https://github.com/yzsunlei/javascript-article-translate 静态网站如今再次流行起来了。信息站和品牌宣传站不再需要使用WordPress之类的内容管理系统来动态更新。 使用静态网站生成器,您可以从无源CMS,API等动态源以及Markdown文件等文件中获取内容。 Nuxt是基于Vue.js的出色的静态网站生成器,可轻松用于构建静态网站。使用Nuxt,从动态内容构建静态网站所需要做的就是创建模板

Why are my custom process.env not working within dotenv?

一笑奈何 提交于 2019-12-23 12:57:19
问题 Learning that it is a bad practice to include API secret keys I've done some research and trying to learn how to create custom process.env . After reading: Node.js Everywhere with Environment Variables! How to set NODE_ENV to production/development in OS X How to set process.env from the file in NodeJS? dotenv file is not loading environment variables I'm trying to set an env file locally based on process.env.NODE_ENV . The application would be hosted on Heroku and in my .gitignore I have dev

dotenv file is not loading environment variables

删除回忆录丶 提交于 2019-12-17 23:42:56
问题 I have .env file at root folder file NODE_ENV=development NODE_HOST=localhost NODE_PORT=4000 NODE_HTTPS=false DB_HOST=localhost DB_USERNAME=user DB_PASSWORD=user And server.js file in the root/app/config/server.js folder. The first line of server.js file is require('dotenv').config(); I also tried following: require('dotenv').config({path: '../.env'}) ; require('dotenv').config({path: '../../.env'}) ; However, my env variable are not loaded when I run the server.js file from command prompt

.env with debugging breakpoint using vscode and dotenv npm

核能气质少年 提交于 2019-12-10 11:59:45
问题 I'm using a nodejs server side api, setting up environment variables with dotenv npm package, and running the code from npm scripts in package.json as below: "scripts": { "local": "cross-env NODE_ENV=local nodemon ./bin/www" } What I need is to configure my .vscode/launch.json file. Currently it looks like: { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid