在之前的 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.azure.com:9002 && yarn start

这个b2b打印出来的值不正确:

CX_BASE应该为 boolean 类型,但是打印出来的值为 ""true ", 这是一个字符串。而 occBaseUrl 的值,9002 后面也多了一个端口号:

经过研究发现,将 set CX_B2B=true与&&之间的空格删除即可,我用的是 Windows10 操作系统,不知道 Linux 系统上的 shell 有没有这个问题。

修改之后,问题顺利解决:

更多Jerry的原创文章,尽在:“汪子熙”:

SAP Spartacus 如何借助env-cmd 实现 B2B 和 B2C 功能启动的无缝切换相关推荐

  1. SAP Spartacus自定义指令cxOutlet的工作原理

    cxOutlet合集 SAP Spartacus自定义指令cxOutlet的工作原理 SAP Spartacus table cell如何通过cxOutlet在运行时动态注入组件 SAP Sparta ...

  2. SAP Spartacus支持的语言和货币单位的数据源

    打开SAP Spartacus Storefront,看到可以在四中语言和两种货币之间切换: 这些下拉菜单里的语言和货币,是Spartacus向Commerce Cloud发起的Restful API ...

  3. SAP Spartacus B2B 页面 Disable 按钮的显示原理

    SAP Spartacus B2B 页面 disable 按钮如下图所示. 这个高亮的 disable 按钮,和左边相邻的 Edit 按钮,实现位于不同的 Component. disable 按钮有 ...

  4. SAP Spartacus B2B OrgUnit 和 OrgUser 的路由映射差异比较

    SAP Spartacus B2B 页面类似 SAP Fiori Launchpad,共有 6 个 tile(磁贴),点击某个磁贴,能跳转到对应的列表页面. 路由映射就是指点击某个 url 之后(例如 ...

  5. SAP Spartacus B2B 列表页面的 (i) icon popover Component 的声明位置

    SAP Spartacus B2B 页面的列表页面,一共有 6 个类似 SAP Fiori Language 里的 tile(磁贴): 点击去之后,能看到列表页面有一个绿色 icon 图标,点击之后, ...

  6. SAP Spartacus B2B Popover Directive 和 Popover Component 的生命周期管理

    解析 SAP Spartacus B2B list 实现,即list.component.html时,因为在Component 模板里遇到了[cxPopover]指令,因此触发依赖注入: 首先创建di ...

  7. SAP Spartacus B2B 页面信息提示图标的弹出窗口显示实现逻辑

    这个弹出窗口的技术实现,通过SAP Spartacus 自定义的popover Component实现而成: 注意,当我刚接触Angular时,误以为下图标号为1的a标签,和标号为2的自定义标签cx- ...

  8. SAP Spartacus B2B User 页面的数据读取逻辑设计

    点击SAP Spartacus B2B的Users页面后: 触发selector: 看到user 列表: B2B user模块,从设计上说,位于Spartacus工程项目的feature-libs文件 ...

  9. SAP Spartacus B2B table的配置信息的merge原理

    以SAP Spartacus b2b unit table的配置信息为例:位于文件units.config.ts里: 运行时,这些配置信息,被merge在table.service.ts的this.c ...

最新文章

  1. oracle将字符串前移,将字符串转换为oracle中的格式编号
  2. Spring-Boot的动态代理AOP原理
  3. python网络编程及高并发问题
  4. ActivityManager
  5. Linux wc指令统计文件信息
  6. LVS之一:基本命令和调度方法
  7. 2019无盘游戏服务器128g内存,云更新无盘客户端 v2019.8.15.12486官方版
  8. c++水平制表符怎么用_怎么才能把字写得好看一些?这四个方法用对了,水平会提升...
  9. nth-child和蝉原则实现的奇妙随机效果(译)
  10. python虚拟机 基于寄存器_虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩...
  11. java面试中mysql_面试官:Mysql 中主库跑太快,从库追不上怎么整?
  12. guzz 1.3.0大版本发布,支持Spring事务
  13. Ubuntu 12.10方便操作套件
  14. VC++之MFC教程
  15. python word转pdf图片格式_Python将Word转成PDF
  16. 餐巾计划问题【网络流24题】
  17. 爬虫:信息提取的一般方法
  18. 公众号排名优化被动引流截流之关于公众号注册申请的那些事儿
  19. WIN32 opengl绘制一个点
  20. attention加权机制

热门文章

  1. ios retain 与 copy 的区别
  2. pip安装lxml报错
  3. [python]pythonic的字典常用操作
  4. linux下nginx启动停止重启控制脚本
  5. spring源码读书笔记(1)
  6. Ubuntu 安装 Qt 开发环境(转)
  7. [转]ActiveX控件安全初始化之一:实现ISafeObject接口
  8. stand up meeting 12/8/2015
  9. 将VIM配置成强大的IDE(三)
  10. 匹配行linux中grep命令的使用