标签:Spartacus cmd environments environment CX env cmdrc
在之前的 SAP Spartacus 标准开发中,每次我从 Github 上 clone 了最新的代码后,必须手动修改 environment.ts 里的配置值,将 CX_BASE_URL 和 b2b 修改成实际值:
后来我研究了一下 package.json 里定义的脚本:发现使用了 env-cmd 这个工具:
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.
在项目的根目录下,放置一个名为 .env-cmdrc 的文件,然后使用 -e 标签,指定需要使用 env-cmdrc 文件里定义的哪个 environments 去运行脚本。
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 后面跟了多个环境名,则每个环境名里包含的变量值,会被 merge 成一个整体。 如果两个环境里都包含了同样的变量值,则后出现的环境的变量值会覆盖先前的环境变量值。
set CX_B2B=true && set CX_BASE_URL=https://spartacus-dev0.eastus.cloudapp.azure.com:9002 && yarn start
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F2e1FWFU-1618206305589)(https://upload-images.jianshu.io/upload_images/2085791-da6bad67c5ed3926.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
这个b2b打印出来的值不正确:
CX_BASE应该为 boolean 类型,但是打印出来的值为 ""true ", 这是一个字符串。而 occBaseUrl 的值,9002 后面也多了一个端口号:
经过研究发现,将 set CX_B2B=true与&&之间的空格删除即可,我用的是 Windows10 操作系统,不知道 Linux 系统上的 shell 有没有这个问题。
修改之后,问题顺利解决:
更多Jerry的原创文章,尽在:“汪子熙”:
标签:Spartacus,cmd,environments,environment,CX,env,cmdrc 来源: https://blog.csdn.net/i042416/article/details/115619166
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。