Angular 5 Universal:在开发中使用server.ts

我使用了新的Angular Universal Starter来启动一个新的Angular 5项目。 对于新版本,他们只提供Angular CLI版本作为首发。 一切工作正常,我可以用npm run serve:ssr等在生产中运行我的项目。

但是:我为node.js / express服务器定制了一个API,作为后端的包装器。

当使用ng servenpm run start开发项目npm run start我有一个工作的Angular应用程序,在文件更改等时自动重新加载。不幸的是,在开发中, server.ts文件被忽略,所以我的API包装器不可用。

那么有没有人得到新的Angular Starter Kit,并使用开发中使用的server.ts文件运行?

截至目前,angular度cli不支持在开发模式下运行。 你可以尝试nodemon,如果看你的需要改变:

 nodemon --ignore dist -e ts --exec 'npm run build:ssr && npm run serve:ssr' 

每次更改.ts文件时都会重新启动,但会重新构build整个应用程序,所以速度不是很快。

在Github上 FriOne提到了使用ts-node-dev的更好的解决方法:

 ts-node-dev --fast --respawn server.dev.ts 

为了运行这个,我只将server.ts文件复制到server.dev.ts中,只用我需要在dev中访问的API。 通过这种方式,您可以在开发过程中使用ng serve进行快速重build,并仍然访问您的节点apis。