将Angular与Nodejs集成

时间:2018-06-05 05:22:03

标签: node.js angular mean

我尝试先将角度前端与nodejs连接,然后在app的公共文件夹上运行ng build,然后运行localhost:3000。编译时没有错误,但现在应用程序已损坏。现在我做到了吗?我的文件夹结构是这样的

  • 客户端
  • 公共
  • app.js

client包含所有角度代码,public包含已编译的角度代码 直到我在../public中将输出路径更改为angular.json。 这是我的app.js

                 var express = require('express');
                 var path= require('path');
                   var cors = require('cors');
                    var mongoose = require('mongoose');
                     var bodyParser = require('body-parser');
                    var passport = require('passport');
                     var app= express();
                   var port = 3000;
                     app.set('view engine','ejs');
                //app.use(express.static(path.join(__dirname, 'public')));
                 app.set('views', path.join(__dirname, '/views'));
                 app.use(express.static(path.join(__dirname, 'public')));
                 app.use('/api', routesApi);
                   app.get('/', (req,res) => {
                   res.send("Invalid page");
                             });
                   app.listen(port, () => {
              console.log(`Starting the server at port ${port}`);
                            });

1 个答案:

答案 0 :(得分:2)

我认为到目前为止,您已经构建了一个运行角度应用程序完美运行node.js服务器

您需要做的是托管您的客户端应用程序。请按照以下步骤使其正常工作。

  1. 使用npm install http-server -g命令
  2. 在您的计算机上全局安装http-server
  3. 然后运行http-server /path/to/your/dist/folder。 (运行ng build --prod
  4. 后,您应该获得一个dist文件夹
  5. 然后运行您的node.js服务器。
  6. 然后打开浏览器并转到http://localhost:8080