node.js - 如何配置 express router 和 ES6?

标签 node.js express routing ecmascript-6

我有以下用于 express.router 文件的代码。

import express from 'express';
import  _  from 'lodash';
import { Devices, OwlElecMonitors } from '../models/';

var router = express.Router();

router.get('/api/devices/:id',function (req, res) {
    console.log(req);                   
    Devices.getDevicesByUserId({ userId: req.params.id },function(err, resp) {
        res.send(resp);
    });
});

export default router;

我正在尝试使用以下代码将其导入主文件

import api from './routes';
app.use('/api', api);

但代码返回 404 错误。我哪里错了?我需要进行哪些更改才能使其正常工作?

最佳答案

您的 api 当前设置为 /api/api/devices/:id。 从路由器获取定义中删除 /api:

router                  
    .get('/devices/:id',function (req, res) { 

关于node.js - 如何配置 express router 和 ES6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33679137/

相关文章:

node.js - sinon.stub 不 stub 私有(private)方法

javascript - NodeJS 井字游戏 STDIN 冲突

asp.net-mvc - 301 重定向在路由匹配之后但在 Controller 执行之前

ruby-on-rails - 如何将完整域映射到基于子域的 Rails 应用程序帐户?

javascript - 内置事件和自定义事件的 node.js 事件循环的行为差异

javascript - Node NPM - 安装与安装 -g

javascript - 未调用express.js 中的自定义错误处理程序

node.js - 我可以使用 sharp 和 multer 来调整图像大小并在一次操作中保存到磁盘吗?

node.js - 重构react项目以使其从数据库加载数据

html - Angular 2 : Pass boolean through routerLink