如何在电子项目中成功使用快速路由?

时间:2017-08-31 13:10:38

标签: node.js express electron

我在ExpressJS项目中使用Electron。使用Express的路由无法按预期工作。

以下是我创建路由的方法(在主流程中):

const express = require('express')

const app2 = express()

app2.get('/requests/:_id', (req, res, next) =>   {
  console.log('Dynamic Link WORKS!!');
  hosSchemaModel.findOne({ _id: req.params._id }, function(err, request){
    res.json(request)
    // res.sendFile(path.join(__dirname+'../homePage.html'))
  });
});

在前端我有以下内容:

<a href="/requests/{{this._doc._id}}">{{this._doc.status}}</a>

当我点击{{this._doc.status}}时,它会让我清空白色屏幕而控制台中没有任何内容。

我是否可以就如何在ExpressJS中实施Electron路由提供一些指导?

2 个答案:

答案 0 :(得分:0)

只是在黑暗中拍摄,但如果没有端口,您将无法连接。尝试将其添加到服务器文件的末尾。 'app2.port(9000)`然后尝试点击相同的URL但是有一个端口。

答案 1 :(得分:0)

Electron基本上有两个进程主进程和渲染进程,当你打印console.log时,它基本上是在主进程的控制台中打印。您必须将数据传递给渲染器进程才能在您的网页的控制台中显示。

更新 - 2

让express express听一些端口,然后从前端点击那个端口的url。

Main.js

app2.get('/requests/1234', (req, res, next) =>   {
  console.log('Dynamic Link WORKS!!');
  hosSchemaModel.findOne({ _id: req.params._id }, function(err, request){
    res.json(request);
    // res.sendFile(path.join(__dirname+'../homePage.html'))
  });
});

app2.listen(5000, function () {
  console.log('Example app listening on port 3000!');
});

<强>前端

<a href="localhost:5000/requests/1234">{{this._doc.status}}</a>

在此之后,它正在我的工作。

如果要以群集模式运行快速服务器,则应该分叉进程并尝试在新进程中运行快速服务器。