blog icon indicating copy to clipboard operation
blog copied to clipboard

server目录下env问题(环境变量问题解答)

Open unfetteredman2020 opened this issue 3 years ago • 9 comments

两个问题: 1,入口index里面配置dotenv,看引入路径是引入的其实是根目录下的.env文件,但其实master上面根目录没有这个文件; 2,script里面dev下的index,为什么要read 一下env目录下的env.template文件,最后又去write进原文件?

unfetteredman2020 avatar Nov 02 '22 09:11 unfetteredman2020

启动之后会把.env和.env.dev合并成一个env文件放到dist里面,然后index去读取.env

Lrunlin avatar Nov 02 '22 09:11 Lrunlin

启动之后会把.env和.env.dev合并成一个env文件放到dist里面,然后index去读取.env

那第二个问题呢?

unfetteredman2020 avatar Nov 02 '22 09:11 unfetteredman2020

对于env.template文件是写入,对于dev是去读,因为防止把一些密钥上传到github上面,每次运行都会生成一个env.template文件用来修改成对应开发环境的环境变量,具体可以查看readme中的环境变量 image

Lrunlin avatar Nov 02 '22 09:11 Lrunlin

了解,但是还是有个疑问点,index里面引入的.env ,根目录下是没有的,这个怎么解释?

unfetteredman2020 avatar Nov 02 '22 09:11 unfetteredman2020

因为TSC的速度非常慢,所以项目其实使用了增量编译,在启动时tsc在开发时增量编译TS文件 image

image

总的来说其实node.js运行的dist下的文件,在项目启动时TSC后自动吧env文件(.env、.env.dev)移动合并至dist image

Lrunlin avatar Nov 02 '22 09:11 Lrunlin

因为server中涉及到七牛云的key,所以才使用了这个方法,有空的话可能会使用git hook来解决

Lrunlin avatar Nov 02 '22 09:11 Lrunlin

了解,但是还是有个疑问点,index里面引入的.env ,根目录下是没有的,这个怎么解释?

看到你的截图我就知道了,master上你没有上传.env 文件,感谢您的答疑解惑

unfetteredman2020 avatar Nov 02 '22 09:11 unfetteredman2020

没事的,感兴趣的话可以点个star

Lrunlin avatar Nov 02 '22 09:11 Lrunlin

哈哈,没问题

unfetteredman2020 avatar Nov 02 '22 09:11 unfetteredman2020