Как передать параметр в Express API с проектом Nuxt Js? - PullRequest
0 голосов
/ 12 апреля 2020

I строительный проект Nuxt Js + ExpressJs (тип SSR) с указанными ниже параметрами

enter image description here

In file server/index.js i import API route

const express = require('express')
const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const app = express()
const fs = require('fs')
const api = require("./routes/routes.js")(app, fs);

// Import API route
app.use('/api', api);
// Import and Set Nuxt.js options
const config = require('../nuxt.config.js')
config.dev = process.env.NODE_ENV !== 'production'

async function start () {
  // Init Nuxt.js
  const nuxt = new Nuxt(config)

  const { host, port } = nuxt.options.server

  await nuxt.ready()
  // Build only in dev mode
  if (config.dev) {
    const builder = new Builder(nuxt)
    await builder.build()
  }

  // Give nuxt middleware to express
  app.use(nuxt.render)

  // Listen the server
  app.listen(port, host)
  consola.ready({
    message: `Server listening on http://${host}:${port}`,
    badge: true
  })
}
start()

In routes/routes.js

// import other routes
const productRoutes = require("./product/products.js");

const appRouter = (app, fs) => {
  // default route
  app.get("/", (req, res) => {
    res.send("welcome to the development api-server");
  });

  // // other routes
  productRoutes(app, fs);
};

module.exports = appRouter;

И в product/products.js

const productRoutes = (app, fs) => {
    app.get("/products", (req, res) => {});
    app.post("/products", (req, res) => {});
    app.put("/products/:id", (req, res) => {});
    app.delete("/products/:id", (req, res) => {});
};
module.exports = productRoutes;

Однако у меня ошибка TypeError: app.use() requires a middleware function. Может быть, я не могу передать параметр (app, fs) при использовании app.use('/api', api) и должен обрабатывать Middleware. Я новичок ie с ExpressJs и Middleware. Я не знаю, что мне не хватает. Я надеюсь, что кто-то, пожалуйста, дайте мне решение. Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...