【问题标题】:The dynamic routes doesn't work as expected动态路由无法按预期工作
【发布时间】:2017-08-24 05:09:47
【问题描述】:

我正在使用express 进行路由。这是routes.js文件中的代码:

const express = require('express');
const app = require('express')

var hosSchemaModel = require('./app/schema.js')
var path    = require("path")


app.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'))
    });
});

homePage.html 中,我使用了<script> 标签来包含routes.js

<script src="handlebars-v4.0.10.js"></script>

这是我使用路由的一段代码:

<div class="card-action">
    <a href="/requests/{{this._doc._id}}">{{this._doc.status}}</a>
    <a href="#">{{this._doc.createdAt}}</a>
</div>

基于路由器实现,“Dynamic Link WORKS!!”应该打印到控制台,但没有任何反应。

我在这里做错了什么?

【问题讨论】:

  • “在 homePage.html 中我使用 根本没有任何意义。您不会将路由处理程序放在 HTML 文件中。它们属于您的 Express 服务器所在的服务器。你要么写错了你的问题,要么你在如何在 Express 中实现路由方面还有一段路要走。我不确定是哪个,因为您在问题中都有这两个元素。

标签: javascript node.js express electron dynamic-routing


【解决方案1】:

它可以是很多东西,但作为一个自然的流程:

  • 检查请求是否正确:(inspect -> network)
  • 如果正常,请检查其响应。从响应中,您可以很好地了解正在发生的事情。
  • 尝试更简单的路由器。例如:“/全部”
  • 也许您的车把-v4.0.10.js 没有被加载,我会仔细检查它的路径。

我希望这些步骤可以帮助您找到问题所在。

【讨论】:

    【解决方案2】:

    您的问题可能仅在代码的开头几行而不是这些:

    const express = require('express');
    const app = require('express')
    

    试试这个

    const express = require('express');
    const app = express();
    

    【讨论】:

    • 我使用的是 ElectronJS,所以我使用的是“app = require('electron')
    • 在“app.on”中我调用的是 express();
    猜你喜欢
    • 2021-10-03
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多