Node.js 如何配置express router和ES6?

Node.js 如何配置express router和ES6?,node.js,express,routing,ecmascript-6,Node.js,Express,Routing,Ecmascript 6,我在express中有一个路由器文件的以下代码 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);

我在express中有一个路由器文件的以下代码

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) { 

也可以通过跳过mount参数来解决:

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

你是怎么运作的?即使使用
--harmony\u modules
标志,我也无法让ES6模块正常工作。使用typescript将有助于YouTunks,这就是问题所在。这对我来说确实有效。有趣的是,如果我提供mount参数,它将中断并返回“cannotget/foo”。。。为什么?啊,找到了://使用路由器和401应用程序中的任何内容。使用('/admin',路由器,函数(req,res){res.sendStatus(401)})位于: