SAP Spartacus 如何借助env-cmd 实现 B2B 和 B2C 功能启动的无缝切换
在之前的 SAP Spartacus 標(biāo)準(zhǔn)開(kāi)發(fā)中,每次我從 Github 上 clone 了最新的代碼后,必須手動(dòng)修改 environment.ts 里的配置值,將 CX_BASE_URL 和 b2b 修改成實(shí)際值:
后來(lái)我研究了一下 package.json 里定義的腳本:發(fā)現(xiàn)使用了 env-cmd 這個(gè)工具:
env-cmd --no-override -e dev,b2c,$SPA_ENV ng serve
env-cmd 的作用:A simple node program for executing commands using an environment from an env file.
For more complex projects, a .env-cmdrc file can be defined in the root directory and supports as many environments as you want. Simply use the -e flag and provide which environments you wish to use from the .env-cmdrc file.
在項(xiàng)目的根目錄下,放置一個(gè)名為 .env-cmdrc 的文件,然后使用 -e 標(biāo)簽,指定需要使用 env-cmdrc 文件里定義的哪個(gè) environments 去運(yùn)行腳本。
Using multiple environment names will merge the environment variables together. Later environments overwrite earlier ones in the list if conflicting environment variables are found.
如果 -e 后面跟了多個(gè)環(huán)境名,則每個(gè)環(huán)境名里包含的變量值,會(huì)被 merge 成一個(gè)整體。 如果兩個(gè)環(huán)境里都包含了同樣的變量值,則后出現(xiàn)的環(huán)境的變量值會(huì)覆蓋先前的環(huán)境變量值。
set CX_B2B=true && set CX_BASE_URL=https://spartacus-dev0.azure.com:9002 && yarn start
這個(gè)b2b打印出來(lái)的值不正確:
CX_BASE應(yīng)該為 boolean 類型,但是打印出來(lái)的值為 ""true ", 這是一個(gè)字符串。而 occBaseUrl 的值,9002 后面也多了一個(gè)端口號(hào):
經(jīng)過(guò)研究發(fā)現(xiàn),將 set CX_B2B=true與&&之間的空格刪除即可,我用的是 Windows10 操作系統(tǒng),不知道 Linux 系統(tǒng)上的 shell 有沒(méi)有這個(gè)問(wèn)題。
修改之后,問(wèn)題順利解決:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus 如何借助env-cmd 实现 B2B 和 B2C 功能启动的无缝切换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 闲鱼有客服吗客服电话多少 闲鱼找在线客服
- 下一篇: 各种数据库默认端口总结(各种的近义词)