我有一些关于MEAN-app项目结构的基本问题,包括Angular2。我已经按照angular.io的开始教程来构建一个非常基本的Angular2应用程序。现在,我尝试在此tutorial之后将此应用程序集成到NodeJS项目中。问题是本教程是在第一个Angular时编写的。
我的问题是:
布鲁诺
答案 0 :(得分:1)
当我第一次开始向angular2迁移时,我遇到了一个非常类似的问题。 Angular.io教程使用System.js作为其模块,这与使用CommonJS的Node基本上不兼容。这为您提供了两个选项。
分别为Client和Server设置Typescript编译器和Node模块。
在客户端上使用CommonJS模块和Browserify之类的东西。
现在对我来说,只有第二种选择是一个不错的选择。两次设置失败了在客户端和客户端使用相同语言的全部目的。服务器
我为Angular 2准备了Boilerplate,以便快速开始使用Browserify。 您可以查看right here.
现在,您只需为客户端应用程序创建公用文件夹,并为节点模块创建静态路由。它可能看起来像这样:
app.use(express.static(__dirname + '/public'));
app.use("/node_modules",express.static(__dirname + '/../node_modules'));
我个人使用VS Code Task编译我的Typescript,然后在客户端使用Watchify将它们捆绑在一起。在服务器端,我使用nodemon监视任何更改,并在编译时重新启动服务器。