В настоящее время я работаю над сайтом, на котором я храню данные в Firebase, и я хотел бы записывать и читать данные из Firebase через API. Я пытаюсь создать свой собственный API с Express. js и Nuxt. js.
Внутри root моего проекта я создал новую папку с именем «api», внутри этой папки у меня есть папка маршрутов, где все мои маршруты go. Затем в папке api есть еще два файла с именами «index. js» и «dev-server. js». Это структура папок:
/api
/routes
user.js
dev-server.js
index.js
это внутренняя часть dev-server.js
:
const debug = require('debug')('Shutterminds:api');
import express from 'express';
import api from '@/api';
const app = express();
app.use((req, res, next) => {
debug(`[${req.method}] ${req.url}`);
next();
});
app.use(api.path, api.handler);
const port = Number(3000);
app.listen(port, () => debug(`Listing on http://localhost:3000`));
Это внутренняя часть index.js
:
import path from 'path';
import glob from 'glob';
import express from 'express';
// Create express instance
const app = express();
glob
.sync(`${__dirname}/routes/*.js`)
.forEach(file =>
{
const route = require(file);
app.use(`/${path.basename(file, '.js')}`, route.default);
});
// Export the server middleware
module.exports = {
path: '/api',
handler: app
};
Затем в моем nuxt.config.js
я устанавливаю serverMiddleware на:
serverMiddleware: '@/api',
Затем я устанавливаю прокси на:
proxy: { '/api': 'http://localhost:3000' },
После запуска yarn dev я ожидаю, что сервер express запустится, но это не так. Всякий раз, когда я запускаю команду, она застревает на линии [nodemon] clean exit - waiting for changes before restart
. это полный журнал:
$ cross-env NODE_ENV=development nodemon server/index.js --watch server
[nodemon] 1.19.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching dir(s): server\**\*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node server/index.js`
[nodemon] clean exit - waiting for changes before restart
Может кто-нибудь сказать, пожалуйста, что я делаю не так? Это первый раз, когда я пытаюсь сделать API, так что я все еще начинающий в этом. Буду очень признателен за отзыв!