как использовать экспортированную конечную точку api в узле и express - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь лучше понять express и то, как он использует разные конечные точки.

Я видел пример конечной точки, которая читает файл json, который используется таким образом.

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

export default app => {
  app.get('/api/price', (req, res) => {
    fs.readFile(path.resolve(__dirname, './price.json'), (err, resp) => {
      if (err) {
        res.send(400, 'ERROR');
      }

      res.send(resp);
    });
  });
};

затем импортируется на сервер. js файл, как показано ниже. Как видите, он импортируется как price api.

import express from 'express';
import priceApi from './priceapi';
const app = express();

priceApi(app)

app.listen(3000, () => {
  console.log("Listening on PORT 3000");
});

Мой вопрос в том, как использовать этот priceApi, в частности, `priceApi (app) и получить доступ к информации, хранящейся в файле JSON, и вывести информация из файла JSON, на которую ссылается конечная точка на сервере. js?

1 Ответ

0 голосов
/ 01 августа 2020

Чтобы не загружать файл при каждом запросе, загрузите файл json один раз при запуске приложения. Затем откройте новую конечную точку и обслужите json:

import express from 'express';
import priceApi from './priceapi';
const app = express();
const prices = require('./path/to/prices.json');

app.get('/api/price', (req,res) => {
  res.json(prices); // does not necessarily need to be this, you can also map/filter stuff of the prices-json and only return this data
});

app.listen(3000, () => {
  console.log("Listening on PORT 3000");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...