终於来到了第 29 天了,也就是名义上技术篇章的最後一篇了 XDD,到了今天我还真是突然不知道要写什麽,而且部署 AWS 那边因为卡关还没有时间继续研究,所以只能到处看看有没有好东西可以学来写,那今天就来写拆分 NestJS 开发环境。
为什麽要拆分开发环境呢?其实当初一开始变成工程师的时候还没有想过这件事,以前练习写 Side Project 刻 UI 的时候,因为只有自己一个人,而且也不是什麽非常重要的东西,所以不会去考虑这件事。
进了公司以後才发现,一个产品在上线之前,是要经过层层测试把关的,你才能真的把这个新的版本给更新到架上。
尤其对後端来说,拆分开不同的环境更是重要,毕竟你写好的 API 直接打下去如果是连到正式资料库的话,改动到了什麽资料可真是不好说啊,如果你是使用者,突然发现你的帐号里多了奇奇怪怪的东西总是会满头问号吧(?)
这边我们跟着 Udemy 课程的 Configuration 篇章进行,当然要拆分不同环境还有很多种方式,可以再自己搜寻看看。
这里我们安装 config 这个 Package:
yarn add config
我们在这个阶层建立一个资料夹叫做 config,并且新建一个档案叫 default.yml
:
既然是 default 的话,中文叫做预设,也就是不会因为不同开发环境而变动的一些设定,比方说 port、DB 的基础设定:
不过由於这是写在程序码里面的,有些比较机敏的资讯是不推荐写在程序码里,例如:DB 的连线资讯及帐密等等。
再来我们来撰写测试环境用的 yml,这边仅仅是做范例而已,而我们在测试环境也会吃到刚刚 default 所撰写的:
再来我们来撰写正式环境用的 yml,不过由於正式资料库的机敏程度较高,通常不会撰写在程序码,会透过环境变数去设定帐密等等资讯,所以这边我突然也不知道要写啥 XDD,先留空吧:
我们来到 main.ts
,先将 config 给引用进来:
要取用刚刚撰写的 yml 档里的参数的话,例如我要取到 port,我要先拿到 server:
平常我们都是听 3000 port,我去把 default 改成 3001,并且让它听,且印出来看看:
然後运行 server,耶,听到 3001 了:
如上面一直强调的,有些机敏资讯是不能写在程序码里的,这边我依然用 port 来做范例,如果有给环境变数就听环境变数,没有就听 Config 的:
那我们来测试一下,给它这个变数是 3005 好了:
yes,顺利听到 3005 了:
以上是最简易版的做法,官方有提供更详尽的做法,再自行参考罗。
/*
本系列文系个人新手开发心得,可能会有许多错误,烦请多多包容不吝指教。
*/
<<: [Day 29] Partitioning (3) - Rebalancing Partitions
今天到了 day3,上次有预告了这次会开始进行RISC-V 32平台的musl libc porti...
前言 之前一篇『YOLO v4 安装心得 -- Windows 环境』介绍如何建置 YOLO4(Da...
What is Javascript?JavaScript (简称 JS)是一种 直译式(Inter...
前言 今年算是拖到最後一天最後一刻才开赛... 因为疫情的关系今年实在有点忙不过来, 因此早在两个月...
刚读大一的时候,最让我感到头痛的就是程序设计课了!因为我一直以来都不怎麽喜欢电脑相关的东西,更别说是...