zl程序教程

您现在的位置是:首页 >  其他

当前栏目

手动安装 SAP Spartacus 3.3.0版本并启用服务器端渲染 SSR

SAP安装 版本 渲染 Spartacus 手动 启用 服务器端
2023-09-14 09:03:59 时间

使用 ng new jerryssr 创建一个空的 Angular 项目:

确保项目创建成功。

ng add @spartacus/schematics@latest --baseUrl https://spartacus-demo.eastus.cloudapp.azure.com:8443/ --baseSite=electronics-spa --ssr

弹出提示信息:

Please choose which configuration you would like to add. (Use arrow keys)

默认是 b2c, 维护在 schema.json 的 configuration 的 enum 节点里:

Which Spartacus features would you like to setup?

然后选择要安装的 feature:

自动添加的内容:https://github.com/wangzixi-diablo/ssrdemo/commit/076f582ad691a5b65b3276abd8122751a900237f

  • angular.json:

多了 “src/styles/spartacus/user.scss”:

多了 tsconfig.server.json:

增加了和 server 相关的 architect 设置:

  • package.json:增加了新的 scripts:

devDependencies 里,增加了对 schematics 的引用:

  • app.module.ts:

  • spartacus.module.ts: 包含了 SpartacusFeatureModule 和 SpartacusConfigurationModule:

启动命令:npm run build:ssr && npm run serve:ssr

ng build --prod 相当于 ng build --configuration=production

ng build --prod 最终使用的是 configurations 里 product 节点下指定的 environment.prod.ts 文件:

environment.prod.ts 的内容:production: true

build 之后的输出文件夹:

build 的结果:输出文件夹在 dist/jerryssr/browser 里:

npm run build:ssr 命令的另一半:ng run jerryssr:server:production

ng 命令执行的是 angular.json 文件里定义的 project architect:

这次的输出是 dist/jerryssr/server:

server 文件夹里生成的资源:

最后,执行的是 main.js: