Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 膝关节炎路由器不与X27不工作,发送404_Javascript_Node.js_Koa_Koa2_Koa Router - Fatal编程技术网

Javascript 膝关节炎路由器不与X27不工作,发送404

Javascript 膝关节炎路由器不与X27不工作,发送404,javascript,node.js,koa,koa2,koa-router,Javascript,Node.js,Koa,Koa2,Koa Router,如果我从客户端发送这样的/image/cover或/image/sub/,路由器功能根本不工作,所以它发送404。它应该能工作,但我真的不知道。我从来没有遇到过这种情况,只是无缘无故不起作用 路由器 import Router from 'koa-router' const router = new Router({ prefix: '/image' }) router.post('/cover', async (ctx, next) => { let URLpath = ct

如果我从客户端发送这样的
/image/cover
/image/sub/
,路由器功能根本不工作,所以它发送404。它应该能工作,但我真的不知道。我从来没有遇到过这种情况,只是无缘无故不起作用

路由器

import Router from 'koa-router'

const router = new Router({ prefix: '/image' })

router.post('/cover', async (ctx, next) => {
    let URLpath = ctx.request.body.files.cover.path
    ctx.body = { url: URLpath }
})

router.post('/sub', async (ctx, next) => {
    let URLpath = ctx.request.body.files.sub.path
    ctx.body = { url: URLpath }
})

export default router
日志

  <-- POST /image/cover
  --> POST /image/cover 404 33ms -
app.js

import Koa from 'koa'
import serve from 'koa-static'
import logger from 'koa-logger'
import views from 'koa-views'
import session from 'koa-session'
import passport from 'koa-passport'
import bodyParser from 'koa-body'
import path from 'path'

import routes from './routes'
import config from './config'
import form from './util/formidable'

import mongoose from 'mongoose'
mongoose.Promise = global.Promise

mongoose
   .connect(config.MONGODB_URI)
   .then(startApp).catch(::console.error)

function startApp() {
    const app = new Koa()
    const port = process.env.PORT || 3000
    const dist = __dirname + '/views/'
    console.log(form)
    const bpOption = { IncomingForm: form, multipart: true }

    app.keys = ['secret', 'key'];
    require('./util/passport')

    app
      .use(logger())
      .use(serve(dist))
      .use(session({}, app))
      .use(bodyParser(bpOption))
      .use(passport.initialize())
      .use(passport.session())
      .use(views(__dirname+'/views', { extension: 'pug'}))
      .use(routes())

    app.listen(port, () => console.log(`[!] Server is Running on ${port}`))
}

您需要帮助功能:

/@help函数记录路由表映射

'use strict';

const fs = require('fs');
const resolve = require('path').resolve;

module.exports = function record(router, filename) {
  const routeTable = fs.createWriteStream(resolve(__dirname, filename));
  routeTable.write(`Update Date: ${new Date().toString()}\n\n`);
  for (let len = router.stack.length, i = 0; i < len; i += 1) {
    const route = router.stack[i];
    routeTable.write(`URL:${route.path}\t${route.methods.join('|')}\n`);
  }
  routeTable.end();
};
您将获得
.routerc
文件(路线图),内容如下:

URL: /a/c/c POST
URL: /b/a/d GET

它可以帮助你解决问题。也许是工作。祝你好运

你能分享你导入的代码吗?@AramilRey我刚刚更新了它!
const record = require('./record');
record(routeApp, '.routerc')
URL: /a/c/c POST
URL: /b/a/d GET