如何在同一端口中运行 Angular 和 Node.JS Express?

2024-02-15

这可能是重复的问题,但无法理解如何配置 FE 和 BE 一起运行它们。

我已经经历过this https://stackoverflow.com/q/39845526 and this https://stackoverflow.com/q/46782456提出疑问,但无法理解。

我的 Node+Express 在 4300 上运行

app.post('/postData', function(req, res) {
//some worst logics here :)
});

And

Angular 5 在 4200 上运行。下面是我调用 post 端点的 FE 服务

postData(feData) {
        console.log(feData);
        this.http.post('/postData', feData, this.httpHeader).subscribe((data) => {
        });
    }

我尝试的是打开两个cmd Windows:一个运行server.js by node server.js另一种是 ng 服务。

Result:

404 not fount(cannot post)

我究竟做错了什么。


在这种情况下,您需要做的是将 Angular 5 应用程序移至快速进程下运行。您可以按照以下步骤实现此目的tutorial https://www.djamware.com/post/5a0673c880aca7739224ee21/mean-stack-angular-5-crud-web-application-example- 参见第 2 项

我消除了一些复杂性,但我真的建议您看一下本教程。

npm install --save express body-parser

创建一个文件来运行您的节点应用程序,例如server.js并添加以下代码:

var app = require('app.js');
var debug = require('debug')('mean-app:server');
var http = require('http');

var port = normalizePort(process.env.PORT || '4300');
app.set('port', port);

var server = http.createServer(app);
server.listen(port);
server.on('listening', onListening);

function onListening() {
  var addr = server.address();
  debug('Listening on ' + port);
}

编辑“package.json”以指定应用程序的启动方式:

"scripts": {
  "ng": "ng",
  "start": "ng build && node server.js",
  "build": "ng build",
  "test": "ng test",
  "lint": "ng lint",
  "e2e": "ng e2e"
},

现在,创建将运行express的app.js:

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');

var sample = require('./routes/sample.js');
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({'extended':'false'}));

//Put your angular dist folder here
app.use(express.static(path.join(__dirname, 'dist')));
app.use('/samples', express.static(path.join(__dirname, 'dist')));
app.use('/sample', sample);

module.exports = app;

为元素创建路径文件夹是一个很好的做法。创建文件routes/sample.js包含以下内容:

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
  res.send('RESTful API');
});

module.exports = router;

使用节点命令运行服务器:

npm start
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在同一端口中运行 Angular 和 Node.JS Express? 的相关文章

随机推荐

  • 从 R 中的 ACF 中提取数值

    这就是我正在尝试做的 x lt c 1 2 3 3 2 3 4 5 6 my acf acf x plot F gt my acf Autocorrelations of series x by lag 0 1 2 3 4 5 6 7 8
  • Firefox 和 CSS3:使用溢出:隐藏和 box-shadow

    我不确定这个错误是否仅适用于 Firefox 还是也适用于基于 WebKit 的浏览器 但这真的非常非常烦人 我有一个 CMS 界面的模板 框架 在一些宽度为 100 的元素上使用 box shadow 由于这会导致元素右侧出现阴影 因此会
  • Javamail 1.5.1、Tomcat 7 和 java.lang.ClassNotFoundException:javax.mail.Authenticator

    我尝试将 Javamail 1 5 1 与 Tomcat 7 和 Eclipse Kepler 一起使用 当我尝试发送电子邮件时 Tomcat 崩溃并出现以下错误 从文档中 我了解到我需要的所有内容现在都在 javax mail jar 中
  • 您应该在哪里启用 SSL?

    我的最后几个项目涉及销售产品 服务并需要用户输入信用卡信息等的 结账 流程的网站 显然 我们获得 SSL 证书是为了保证其安全性 并让客户放心 然而 我对它的微妙之处有点一无所知 最重要的是网站的哪些部分应该 使用 证书 例如 我访问过一些
  • spring批处理异常无法构造java.util.Map$Entry

    从命令行执行 Spring Batch 作业时 我们面临以下异常 Spring 批处理版本 3 0 2 RELEASE 春季版本 4 0 0 RELEASE xStream 版本 1 4 7 数据库 mysql 我正在连接到新的数据库模式
  • Android 中没有显示 ActionMode Bar 的所有图标?

    我已经为我的操作模式栏创建了一个带有图标的菜单 但并非所有菜单都在操作模式栏中显示有图标 这是我的菜单 xml 文件 menu menu
  • Visual Studio 2017 / 2019 添加缺失的区域

    使用 VS2017 2019 创建 ASP NET MVC Core Web 应用程序时 发现上下文菜单中缺少 添加区域 选项 该区域并未从 VS 2017 19 中删除 但已移至脚手架中 您可以使用以下步骤访问该区域 1 右键单击您的项目
  • Keras 中的 RMSE/RMSLE 损失函数

    我尝试参加我的第一次 Kaggle 比赛RMSLE给出作为所需的损失函数 因为我没有找到如何实现这个loss function我试图满足于RMSE 我知道这是一部分Keras过去 有什么方法可以在最新版本中使用它 也许通过定制功能backe
  • 将毫秒转换为天:小时:分钟:秒:毫秒的 Bash 脚本

    我编写了以下 bash 脚本 将毫秒转换为天 小时 分钟 秒 毫秒 以使日志文件更具可读性 bin bash Constants CON DAYS 0000000115741 CON HOURS 000000277778 CON MINUT
  • 从模态/弹出窗口中解开segue,导致开始/结束外观过渡的呼叫不平衡

    我有以下设置 导航控制器 gt VC1 Push gt VC2 PopOver 或 Modal Segue gt VC3 VC3 正在展开回 VC1 当从 VC2 到 VC3 的 Segue 为 PopOver 和 Modal 时 展开会以
  • Google Visualization - 在事件表排序中,将特定行保留为第一个可见记录?

    当用户单击标题进行排序时 我希望标记为 总计 的行保持为可见的第一行 我可以捕获表排序事件 如下所示 google visualization events addListener table getChart sort function
  • 不可行的函数模板的类型推导

    In 他的回答 https stackoverflow com a 22259156 420683 to 这个问题 https stackoverflow com q 22258054 420683以及评论区 约翰内斯 绍布 https s
  • 使用 Blogger API v3 和 Python 插入博客文章草稿

    我正在尝试使用 Blogger Api v3 客户端库发布一篇文章 https developers google com blogger docs 3 0 libraries https developers google com blo
  • NSPredicate 和数组

    我有一个简短的问题 我有一个NSArray洋溢着Cars 继承自 NSObject Car有 property NSString engine 也被视为 synthesize 现在我想使用过滤数组NSPredicate predicate
  • Bootstrap 中的固定页脚

    我正在尝试引导程序 http getbootstrap com 我想知道 如果内容滚动 如何修复底部的页脚而不使其从页面上消失 要让页脚粘在视口底部 请给它一个固定位置 如下所示 footer position fixed height 1
  • Vue.js v-if 对变量变化没有反应

    我正在使用 vue js 并且在正确使用 v if 方面遇到了一些困难 我正在尝试在模板内渲染条件模板 在创建的方法中 变量isloaded设置为 true 这应该会导致模板重新呈现并让 正在加载数据 消息消失 然而 日志表明 2s 的延迟
  • 如何添加 .NET Framework 安装先决条件

    我在 Microsoft Visual Studio 中有一个 C Windows 窗体项目2017 我添加了 Visual Studio 安装程序安装向导项目来为我的应用程序创建安装程序 这是我第一次使用安装程序项目 安装程序正确地具有
  • 按复杂标准合并/连接 2 个 DataFrame

    我有 2 个大型数据集 每个数据集有 70K 到 110K 我想关联 比较两者 并根据某些条件 标准查找 set2 中的哪些项目可以在 set1 中找到 我当前的策略是按公共字段对两个列表进行排序 然后运行嵌套for循环 执行条件if测试
  • 在客户端用 JavaScript 逐行读取文件

    您能帮我解决以下问题吗 Goal 在客户端 通过 JS 和 HTML5 类在浏览器中 逐行读取文件 无需将整个文件加载到内存中 Scenario 我正在开发应该在客户端解析文件的网页 目前 我正在阅读本文件中描述的文件article htt
  • 如何在同一端口中运行 Angular 和 Node.JS Express?

    这可能是重复的问题 但无法理解如何配置 FE 和 BE 一起运行它们 我已经经历过this https stackoverflow com q 39845526 and this https stackoverflow com q 4678