SAP Spartacus 根目录下有个 server.ts 文件。整个文件的入口是 run 函数:run 函数里,开启一个 服务器,监听在 4000 端口上:服务器实例通过 app 函数返回:
首先利用一个NgExpressEngineDecorator 获得 NgUniversal engine 实例,然后将该 engine 同 express 返回的 server 实例进行绑定:所有的静态文件,通过 browser 文件夹里的文件返回:所有的常规路由,使用 Universal Engine 响应。
该 server.ts 文件的引用,定义在 tsconfig.server.json 里:另一个 src/main.server.ts 文件:而这个 tsconfig.server.json 文件什么时候被使用呢?
tsconfig.server.json 扩展 tsconfig.app.json,而后者又扩展 tsconfig.json: