我可以将已经创建的角度项目与nodejs(express)

时间:2019-02-19 03:05:27

标签: node.js angular

我已经创建了一个有角度的网站,在该网站中我已完成路由并连接到Firestore。但是现在我想要一个中间件连接,因为我希望将RFID扫描仪(Rasberry PI)扫描的值存储在Firestore中。 那么我现在可以立即将这个角度项目与节点连接起来吗,还是需要重建我的应用程序?

我已经尝试使用节点js进行连接,但是当我运行服务器时,屏幕为空白,仅显示标题

------在SERVER.js ---------

const express = require('express');
const path = require('path');
const http = require('http');
// const bodyParser = require('body-parser');
// const morgan = require('morgan');
const proxy = require('express-http-proxy');
// const cors = require('cors');
const request = require('request');

const app = express();

// app.use(cors());

// Point static path to dist
app.use(express.static(path.join(__dirname, 'dist')));

// Catch all other routes and return the index file
app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'dist/index.html'));
});

/**
 * Get port from environment and store in Express.
 */
const port = process.env.PORT || '3001';
app.set('port', port);

/**
 * Create HTTP server.
 */
const server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */
server.listen(port, () => console.log(`API running on ${port}`));

------- IN DIST / index.html --------

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Miracle Bus Track</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
</head>
<body>
  <app-root></app-root>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

答案是“是”,因为客户端JS UI通常与后端分离,并且可以在任何地方托管。

但是,您的特定问题听起来像是代码/构建问题,而Stackoverflow并不是解决问题的好地方。我看到的一件事是,您没有在任何地方引用角度javascript的标记,因此您应该从那里开始。

答案 1 :(得分:0)

考虑到您提到的情况,我想建议您使用其他方法来处理此问题。 我建议您使用Google Cloud函数https://cloud.google.com/functions/而不是创建自己的nodejs服务器。 云功能是在nodejs服务器上运行的无服务器功能。

建议您这样做,因为您已经在使用Firestore。 我建议您在项目中进行架构更改。 谷歌还提供物联网模块。这样可以帮助您更多地使用Raspberry Pi。