Angular 2 和 NodeJS 项目设置

Angular 2 and NodeJS project setup

本文关键字:项目 设置 NodeJS Angular      更新时间:2023-09-26

我有一些关于包括Angular2在内的MEAN应用程序项目结构的基本问题。我按照 angular.io 的入门教程构建了一个非常基本的 Angular2 应用程序。现在,我尝试按照本教程将此应用程序集成到 NodeJS 项目中。问题是本教程是在第一个 Angular 的时候编写的。

我的问题是:

  1. 我应该把我的 Angular2 应用程序的 npm 包放在哪里?里面公用文件夹(因此应用有自己的 packages.json)或位于节点包.json?
  2. TSC编译器应该如何实现?

布鲁诺

我第一次开始迁移到 angular2 时遇到了非常类似的问题。Angular.io 教程使用System.js作为其模块,这基本上与使用CommonJS的Node不兼容。这给您留下了两个选择。

  1. 分别为客户端和服务器设置打字稿编译器和节点模块。

  2. 将 CommonJS 模块与客户端上的 Browserify 等模块一起使用。

现在对我来说,只有第二个选项是一个不错的选择。设置两次违背了在客户端和服务器上使用相同的语言的全部目的。

我已经为 Angular 2 准备了一个样板,以便快速开始使用 Browserify。你可以在这里查看。

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

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

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