Angular 2和NodeJS项目设置

我有一些关于包括Angular2在内的MEAN-app项目结构的基本问题。 我跟着angular.io的开始教程来构build一个非常基本的Angular2应用程序。 现在我尝试在本教程后面的NodeJS项目中集成这个应用程序。 问题是这个教程是在第一个Angular的时候编写的。

我的问题是:

  1. 我应该在哪里放置我的Angular2应用程序的npm包? 在公共文件夹(所以应用程序有一个自己的packages.json)或节点packages.json里面?
  2. 应该如何实施tsc编译器?

布鲁诺

我有一个非常类似的问题,当第一次开始向angular2迁移。 Angular.io教程使用System.js作为模块,基本上与使用CommonJS的Node不兼容。 这给你两个select。

  1. 分别为Client和Server设置Typescript编译器和节点模块。

  2. 在客户端上使用类似于Browserify的CommonJS模块。

现在对我来说,只有第二种select是一个好的select。 两次设置都会影响客户端和服务器端的相同语言。

我为Angular 2准备了一个Boilerplate,以便很快开始使用Browserify。 你可以在这里查看

现在,您只需为您的客户端应用程序创build一个公用文件夹,并为您的节点模块创build静态路由。 它可能看起来像这样:

 app.use(express.static(__dirname + '/public')); app.use("/node_modules",express.static(__dirname + '/../node_modules')); 

我个人使用VS Code Task编译我的Typescript,然后在客户端使用Watchify将它们捆绑在一起。 在服务器端,我使用nodemon监视任何更改,并在编译时重新启动服务器。