gpt4 book ai didi

javascript - Angular 2 和 NodeJS 项目设置

转载 作者:行者123 更新时间:2023-12-03 07:25:34 27 4
gpt4 key购买 nike

我有一些关于 MEAN 应用程序(包括 Angular2)的项目结构的基本问题。我已经按照angular.io的入门教程进行操作构建一个非常基本的 Angular2 应用程序。现在我尝试将此应用程序集成到 NodeJS 项目中,如下 tutorial 。问题是本教程是在第一个 Angular 出现时编写的。

我的问题是:

  1. 我应该将 Angular2 应用程序的 npm 包放在哪里?在 - 的里面public 文件夹(因此应用程序有自己的packages.json)或内部 Node 包.json?
  2. tsc编译器应该如何实现?

布鲁诺

最佳答案

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

  1. 分别为客户端和服务器设置 Typescript 编译器和 Node 模块。

  2. 在客户端上使用 CommonJS 模块和 Browserify 之类的工具。

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

我已经为 Angular 2 准备了一个 Boilerplate,以便快速启动 Browserify。您可以查看right here.

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

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

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

关于javascript - Angular 2 和 NodeJS 项目设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36019298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com