gamesover 最近的时间轴更新
gamesover

gamesover

V2EX 第 199463 号会员,加入于 2016-11-01 22:52:02 +08:00
根据 gamesover 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
gamesover 最近回复了
buildkite 但是不免费
@7anshuai 我看了下,这个方法也是厉害,code + server 配置

但是还要我之前说的,前端是没有任何秘密的
用户无论如何都是可以看到想看的变量和密码,如果你植入了前端的话

我们老大弄环境变量的一大原因是,想影响前端调用位于环境变量的 password 和 key ,这其实是暴露于用户的
当初这么搞的一大原因,是 leader 说要隐藏生产文件中在环境变量中的的 password 和 keys

我现在一看,react 生成的生产文件,直接是把环境变量 hard code 进去的,用户一看明明白白,根本没有任何隐藏的必要
@XiLingHost 不管各种花样,react 生成的静态文件是直接把环境变量 hard code 进去的,不是动态加载的

只有生成多个生产文件,才能解决环境变量的问题
@ddch1997 是的,比如要 call 三方 api ,人家有提供测试环境和生产环境
@InternetExplorer sorry ,我理解你错误了,你意思是前端通过 api 从后端获取环境变量

这样子肯定不行的
@InternetExplorer 可以,但是就不能一个 image 在各个环境通用了

staging 环境需要生成 staging image
qa 环境需要生成 qa image
pre-prod 环境需要生成 pre-prod image

这些 image 除了环境变量不同,其他其实都一样
上面提的涉及到其他问题,这样把所有的变量都编译到一个文件,生产文件可以看到任何其他环境的变量

总之,按照后台编译,动态加载环境变量是无解了
我试着本地跑了下 yarn run build ,发现 react 把环境变量直接在生产文件中替换了,是 hard code 进去的
所以一旦 yarn run build 跑完,你再修改.env 都是没用的
不像其他 app framework ,变量文件是运行时动态加载的

我想不出任何比 build 的不同环境,放到一个 image 的不同文件夹下的办法了
找到一个非常类似的 https://stackoverflow.com/a/53228931/2251303 ,这个人就是把 build 的不同环境,放到一个 image 的不同文件夹下,结果被我们 ops 老大骂死了

我没有其他办法了,谁有招?否则就只能根据不同环境,成生不同的 image ,这个也不好
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1613 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 17:33 · PVG 01:33 · LAX 09:33 · JFK 12:33
♥ Do have faith in what you're doing.