当前位置: 首页 > 面试题库 >

在开发环境中使用Angular CLI连接express.js

陶鸿畴
2023-03-14
问题内容

我找到了很棒的教程,该教程解释了如何使用Angular
CLI设置express.js,但是在本教程中,角度应用程序被编译到生产dist文件夹中:https : //scotch.io/tutorials/mean-app-
with-angular- 2和角度cli

如何将express.js与Angular
CLI集成在一起,但是我希望express.js与Angular应用程序的开发版本一起使用,并且如果我对express OR
angular应用程序进行更改,我希望nodemon重新启动。

已经花费了八个多小时试图使它正常工作。谢谢!

我不想每次对Angular应用进行更改时都需要运行“ ng
build”(这会花费很长时间)-我希望在将更改保存到我的角度应用中时立即重新加载(就像我在运行“ ng serve”一样) ‘)或快递应用。

我找到了一个教程,可以在其中连接Angular 2 QuickStart和Express,它可以工作,但是我正在寻找使用Angular CLI的方法。

我了解Angular CLI使用WebPack,而QuickStart使用System.js


问题答案:

新答案

我15个小时的经验告诉我,在开发过程中尝试通过Express服务Angular应用不是一个好主意。正确的方法是在两个不同的端口上将Angular和Express作为两个不同的应用程序运行。Angular将像往常一样在端口4200和Express在端口3000上提供服务。然后为Express应用程序的API调用配置代理。

将proxy.config.json添加到Angular项目的根目录中:

{
  "/api/*":{
    "target":"http://localhost:3000",
    "secure":false,
    "logLevel":"debug"
  }
}

打开一个新的终端选项卡,然后运行以下命令以启动Express应用程序:

nodemon [YOUR_EXPRESS_APP.js] --watch server

(YOUR_EXPRESS_APP.js通常被命名为server.js或app.js。server是您保留所有Express应用程序文件的目录)

打开第二个终端选项卡,然后运行以下命令以启动Angular应用程序:

ng serve --proxy-config proxy.config.json

当对任何Angular应用程序文件进行更改时,这将确保重建Angular应用程序并重新加载浏览器。同样,对任何Express应用程序文件进行更改后,Express服务器也会重新启动。

您的Angular应用程序在这里:http:// localhost:4200 /

观看此视频,了解如何使用Angular
CLI为您的API调用配置代理

注意:此设置仅适用于开发环境。在生产中,您将需要运行ng buildAngular应用程序并将其放置在dist目录中,以由Express提供服务。在生产中,只有一个应用程序正在运行-
Express应用程序为您的Angular应用程序提供服务。

上一个答案

使用@echonax的输入,我想到了这个解决方案,该解决方案非常快:

  • 如本教程所述,将Express添加到Angular 2应用程序(使用Angular CLI构建)
  • 在终端中运行:

ng build -w & nodemon server.js --watch dist --watch server

这会将Angular应用重新构建到dist文件夹中,并且节点服务器将在每次发生时重新启动。但是,使用此设置不会自动刷新浏览器:(

这里的更多信息:

https://github.com/jprichardson/reload



 类似资料:
  • 我发现了一个很好的教程,解释了如何设置express。js和Angular CLI,但在本教程中,Angular应用程序被编译到一个production dist文件夹中:https://scotch.io/tutorials/mean-app-with-angular-2-and-the-angular-cli 我如何将express.js与Angular CLI集成,但我希望express.j

  • 简介 Xiaomi Cloud-ML也支持基于GPU的开发环境,用法与训练任务相同,可参考 使用GPU训练 。 开发环境的GPU数量大于0时,开启GPU加速。系统为开启GPU的开发环境分配GPU,并且镜像内安装相应软件包。 使用命令行启用GPU 用户在使用命令行创建开发环境时,可以使用参数指定需要的GPU个数。 cloudml dev create -n mydev -p mypassword -

  • 依照以下操作,你可使用Docker在Mac,Linux上搭建PPMessage开发环境。 前言:Docker 的作用 ? Docker allows you to package an application with all of its dependencies into a standardized unit for software development. Docker containe

  • 当项目逐渐变大,webpack 的编译时间会变长,可以通过参数让编译的输出内容带有进度和颜色。 $ webpack --progress --colors 如果不想每次修改模块后都重新编译,那么可以启动监听模式。开启监听模式后,没有变化的模块会在编译后缓存到内存中,而不会每次都被重新编译,所以监听模式的整体速度是很快的。 $ webpack --progress --colors --watch

  • Termux 支持的开发环境很强,可以完美的运行 C、Python、Java、PHP、Ruby等开发环境,建议读者朋友们选择自己需要的开发环境折腾。 编辑器 写代码前总得折腾一下编辑器,毕竟磨刀不误砍柴工嘛。Termux 支持多种编辑器,完全可以满足日常使用需求。 Emacs 据说Emacs是神的编辑器,国光我这种小菜鸡还不会使用哎,但是 Termux 官方已经封装好了 Emacs了,我们安装起来

  • 你可以使用原生的Node.js开发环境来开发Electron应用。 为了打造一个Electron桌面程序的开发环境,你只需要安装好的Node.js、npm、一个顺手的代码编辑器以及对你的操作系统命令行客户端的基本了解。 Developer Environment Electron development is essentially Node.js development. To turn you