平均应用程序。 同时两台服务器Express,NodeJS,Angular 2

我尝试连接后端(NodeJS,Express)与前端(Angular 2),但有一个问题。

当我分别启动两台服务器时,客户端和服务器端都正常工作。 在我的情况:localhost:4200 – angular本地主机:3000 – NodeJS,Express

当我在我的VIEWS文件夹中呈现任何静态html文件时,它能正常工作,但是当我将html文件的内容更改为使用组件的Angular Index.html时,它不起作用。 我的意思是,它的工作原理,但不加载我的组件。

我想这个问题是在configuration中,我的index.html不知道如何查找和加载组件,但我不明白错误可能在哪里。

当我尝试在同一端口启动两台服务器时,我的前端部分停止工作。

我使用Angular-CLI,NodeJS,Express和EJS。

我的server.js代码是:

var express = require('express'); var path = require('path'); var bodyParser = require('body-parser'); var index = require('./routes/index'); var tasks = require('./routes/tasks'); var port = 3000; var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view enjine', 'ejs'); app.engine('html', require('ejs').renderFile); app.use(express.static(path.join(__dirname, 'views'))); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false})); app.use('/', index); app.use('/api', tasks); app.listen(port, function () { console.log('Server started on port ' + port); }); 

在ROUTES文件夹中,我的index.js代码是:

 var express = require('express'); var router = express.Router(); router.get('/', function(req, res, next) { res.render('index.html'); }); module.exports = router; 

我的文件夹结构: 折叠图片

  node_modules routes ruen-app views package.json server.js 

“ruen-app”是我的客户(Angular 2)文件夹。

所以,我的问题是:

1)如何连接这两个部分?

2)同时启动两台服务器是否正确 – 一个用于前端,另一个用于后端?

3)MEAN应用程序从头开始的最佳实践是什么? 我的意思是,最好的办法是两台服务器还是一台?

       

网上收集的解决方案 "平均应用程序。 同时两台服务器Express,NodeJS,Angular 2"