如何在电子项目中成功使用快速路由?
Posted
技术标签:
【中文标题】如何在电子项目中成功使用快速路由?【英文标题】:How to successfully use express routing in electron project? 【发布时间】:2018-02-09 10:59:50 【问题描述】:我在我的Electron
项目中使用ExpressJS
。 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
时,我会进入空白屏幕,控制台中没有打印任何内容。
我可以提供一些关于如何在Electron
中实现ExpressJS
路由的指导吗?
【问题讨论】:
大胆猜测,在 href 中的 ID 值前加上明确的“:”前缀 @RobertRowntree 我得到了相同的结果,空白屏幕,没有任何内容打印到控制台 【参考方案1】:只是在黑暗中拍摄,但如果没有端口,您将无法连接。尝试将此添加到服务器文件的末尾。 'app2.port(9000)` 然后尝试访问相同的 URL,但使用端口。
【讨论】:
我试过 var port = process.env.PORT || 8080; app2.listen(端口);但是没有用【参考方案2】:Electron 基本上有两个进程主进程和渲染进程,当你打印 console.log 时,它基本上是在你主进程的控制台中打印。您必须将数据传递给渲染器进程才能显示在网页的控制台中。
更新 - 2
让 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>
在此之后,它在我的最后工作。
如果你想在集群模式下运行 express 服务器,你应该 fork 进程并尝试在新进程中运行 express 服务器。
【讨论】:
应该在终端打印,但不是! 让express服务器监听某个端口,然后从前端点击url,更新答案,请检查是否正常。以上是关于如何在电子项目中成功使用快速路由?的主要内容,如果未能解决你的问题,请参考以下文章