确保项目创建成功。
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 文件夹里生成的资源: