首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Next.js要将静态文件作为参数传递给url?

为什么Next.js要将静态文件作为参数传递给url?
EN

Stack Overflow用户
提问于 2019-12-10 18:37:32
回答 1查看 414关注 0票数 3

首先,我得到了错误:Fetch API cannot load file:///xxxx/web-frontend/node_modules/axios/lib/core/createError.js. URL scheme must be "http" or "https" for CORS request.

我不知道为什么会这样。然后,我在Python后端API控制台中看到了以下消息:

代码语言:javascript
复制
[10/Dec/2019 14:24:54] "GET /api/main_get/boards/b/ HTTP/1.1" 500 17478
[10/Dec/2019 14:24:54] "GET /api/main_get/ HTTP/1.1" 200 87
[10/Dec/2019 14:24:54] "GET /api/main_get/ HTTP/1.1" 200 87
Not Found: /api/main_get/boards/_stream_readable.js/
Not Found: /api/main_get/boards/events.js/
[10/Dec/2019 14:24:54] "GET /api/main_get/boards/_stream_readable.js/ HTTP/1.1" 404 30
[10/Dec/2019 14:24:54] "GET /api/main_get/boards/events.js/ HTTP/1.1" 404 30

然后我决定在Node.js控制台中记录参数。我得到了:

代码语言:javascript
复制
{ abbr: 'b' }
{ abbr: 'events.js' }
{ abbr: '_stream_readable.js' }

我的前端服务器设置:

代码语言:javascript
复制
const express = require('express');
const next = require('next');

const port = +process.env.PORT || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
    const server = express();

    server.get('/boards/:abbr', (req, res) => {
        console.log(req.params);
        return app.render(req, res, '/boards', { abbr : req.params.abbr });
    })

    server.all('*', (req, res) => {
        return handle(req, res);
    });

    server.listen(port, err => {
        if (err) throw err;
        console.log(`Server is listening on port ${port}!`);
    })
});

为什么Express/Next.js服务器将文件识别为abbr参数?

EN

回答 1

Stack Overflow用户

发布于 2019-12-10 20:44:19

该错误是由API引起的。我在DB中手动创建了线程,但忘记了在第一个帖子中分配它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59265287

复制
相关文章

相似问题

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