Estoy usando el repositorio de Angular Universal Starter . En angular 4 universal para ssr, podríamos depurar el navegador y la parte del nodo de la aplicación en modo dev (ver consola), pero ahora no veo la forma de depurar la parte del nodo. Traté de ejecutar ts-node server.ts con algunos cambios (rutas a archivos, etc.), pero parece que angular necesita una aplicación compilada y
throw Error: debe pasar un NgModule o NgModuleFactory para que se inicie.
de documentos:
Desarrollo (representación solo del lado del cliente): ejecute npm run start, que iniciará ng serve
Producción (también para probar SSR/Pre-renderizado localmente) - npm run build:ssr && npm run serve:ssr
A primera vista, la depuración en Node.js en desarrollo no funciona. Al menos de la caja. Puede ser que alguien resuelva este problema.
Creo que este pequeño fragmento de código puede ayudarte.
ng n debuggable-universal-server --interactive=false cd debuggable-universal-server ng add @nguniversal/express-engine --clientProject debuggable-universal-serverNo puede depurar parte del nodo de su aplicación Angular 4 en el navegador. El nodo funciona en la parte del servidor para que no pueda ver esto en el navegador (lado del cliente).
La única forma de depurar esta parte cuando la inicia desde ts-node server.ts es usar herramientas externas como WebStorm, etc. Si inicia su aplicación en modo TS desde el modo de Debug mode puede usar todas las funciones de estas herramientas.
Para crear el módulo de aplicación del lado del servidor, app.server.module.ts, ejecute el siguiente comando CLI.
ng add @nguniversal/express-enginePara comenzar a renderizar su aplicación con Universal en su sistema local, use el siguiente comando.
npm run dev:ssr