这个链接里介绍的步骤,可以本地以 SSR 的模式启动 SAP Spartacus,但是生成的 main.js 经过压缩过,调试不太方便。
为此,可以在 package.json 里,新增添一条 script:
"build:ssrdev": "env-cmd --no-override -e dev,b2c,$SPA_ENV ng run storefrontapp:server:dev",
也就是说,给 storefrontapp:server 增加一个 dev configuration:
编辑 angular.json:

"server": {
"builder": "@angular-builders/custom-webpack:server",
"options": {
"customWebpackConfig": {
"path": "./extra-webpack.config.js"
},
"outputPath": "dist/storefrontapp-server",
"main": "projects/storefrontapp/server.ts",
"tsConfig": "projects/storefrontapp/tsconfig.server.json"
},
"configurations": {
"production": {
"outputHashing": "media",
"fileReplacements": [
{
"replace": "projects/storefrontapp/src/environments/environment.ts",
"with": "projects/storefrontapp/src/environments/environment.prod.ts"
}
],
"sourceMap": false,
"optimization": true,
"tsConfig": "projects/storefrontapp/tsconfig.server.prod.json"
},
"dev": {
"sourceMap": true,
"optimization": false,
"tsConfig": "projects/storefrontapp/tsconfig.server.json"
}
}
},
然后执行命令 yarn build:ssrdev,构建出的 main.js, 在 SAP Spartacus 4.0 版本上大小为 14.42 MB.

执行 yarn:serve:ssr:dev, 启动 Spartacus.
该 script 在 package.json 里定义如下:
"serve:ssr:dev": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node --inspect-brk dist/storefrontapp-server/main.js",
更多Jerry的原创文章,尽在:"汪子熙":

网友评论