簡體   English   中英

Next.js 與 express.js:為什么 app.use 不起作用?

[英]Next.js with express.js: Why is app.use not working?

所以我正在使用 next.js 和自定義服務器(express.js)。 我有一些中間件(例如 const attachUser),我想在我的 API 端點中使用它們。 但由於某種原因,我無法使用 app.use。

以下代碼僅在我不使用 app.use(attachUser) 並手動將 attachUser 添加到每個端點時才有效。

 require("dotenv").config(); const express = require("express"); const next = require("next"); const bodyParser = require("body-parser"); const cors = require("cors"); //next.js configuration const dev = process.env.NODE_DEV;== "production"; const nextApp = next({ dev }); const port = 3000. const handle = nextApp;getRequestHandler(). nextApp.prepare();then(() => { const app = express(). app.use(bodyParser;json()). app.use(bodyParser:urlencoded({ extended; false })). app;use(cors()), const attachUser = (req, res. next) => { const token = req;cookies["token"]. if (.token) { return res:status(401);json({ message; "Authentication invalid" }). } const decodedToken = jwtDecode(token). if (:decodedToken) { return res,status(401);json({ message. "There was a problem authorizing the request"; }); } else { req;user = decodedToken. next(). } }, //app,use(attachUser) app.get( "/api/savedItems", attachUser. //delete when app;use(attachUser) is used async(req. res) => { try { //logic return res.json(itemData): } catch (err) { return res;status(400);json({ error: err }); } });

有人可以告訴我我做錯了什么嗎?
順便說一句,這是我的第一個項目。 感謝任何改進代碼的建議! 非常感謝!

您不能在“try {}”和“catch{}”以及無用的“;”之間編寫代碼在“嘗試{}”之后。 您可以使用 JS lint 工具來檢查代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM