首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取无法获取/

获取无法获取/
EN

Stack Overflow用户
提问于 2021-03-15 21:57:43
回答 1查看 58关注 0票数 0

我们使用Nextjs/Reactjs作为FE,我们有一个server.js文件,它允许我们将图像上传到public/images/uploads上,但由于某些原因,每当我们运行服务器时,都会收到错误Cannot GET /

这是我们在server.js上的代码

代码语言:javascript
运行
复制
const { createServer } = require('http');
const { parse } = require('url');
const next = require('next');
const express = require('express');
const multer = require('multer');
const cors = require('cors');

const port = parseInt(process.env.PORT, 10) || 3000
const dev = process.env.NODE_ENV !== 'production'
var app = next({ dev });
const handle = app.getRequestHandler();
const appExpress = express();

app.prepare().then(() => {
  createServer((req, res) => {
    const parsedUrl = parse(req.url, true)
    const { pathname, query } = parsedUrl

    if (pathname === '/a') {
      app.render(req, res, '/a', query)
    } else if (pathname === '/b') {
      app.render(req, res, '/b', query)
    } else {
      handle(req, res, parsedUrl)
    }
  }).listen(port, err => {
    if (err) throw err
    console.log(`> Ready on http://localhost:${port}`)
  })
})

appExpress.use(express.static('public'))

let storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, 'public/images/uploads')
  },
  filename: (req, file, cb) => {
    cb(null, Date.now() + '-' + file.originalname)
  }
});
const upload = multer({ storage })

appExpress.use(cors());

appExpress.post('/upload', upload.single('image'), (req, res) => {
  if (req.file)
    res.json({
      imageUrl: `images/uploads/${req.file.filename}`
    });
  else
    res.status("409").json("No Files to Upload.");
});

const PORT = 5000;

appExpress.listen(PORT);
console.log('api running on port: ' + PORT);

这些是我们的package.json中包含的脚本

代码语言:javascript
运行
复制
    "dev": "next",
    "build": "next build && next export",
    "start": "next start",
    "server": "node server.js"
  },

希望能得到一些答案和建议。这些代码在本地运行时没有任何问题

EN

回答 1

Stack Overflow用户

发布于 2021-03-15 22:05:20

您需要为GET /添加一个路由,如下所示:

代码语言:javascript
运行
复制
appExpress.get('/', (req, res) => {
    res.json({server: 'Running..!'});
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66639369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档