Используйте Express.js в существующем проекте Nuxt.js - PullRequest
0 голосов
/ 25 июня 2018

У меня есть проект, созданный с помощью Nuxt.js, и я хочу использовать экспресс, чтобы иметь возможность сообщать об ошибках в методе asyncData и т. Д.

Как мне импортировать это?Я полагаю, это не так просто, как npm install express --save.

У меня уже есть API, написанный на PHP, поэтому я бы не стал использовать его как API или что-то еще.

Является ли это излишним?Или это необходимое зло?: D

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Чтобы начать использовать Express с существующим проектом Nuxt, вам нужно настроить простой server.js файл, который настраивает ваш сервер Express и добавляет ваше приложение Nuxt в качестве промежуточного программного обеспечения.Единственное небольшое затруднение - настройка на автоматическое восстановление в разработке.Вот краткий пример server.js файла, который извлекает Nuxt и обрабатывает сборку, когда он не работает.

const { Nuxt, Builder } = require('nuxt');
const app = require('express')();


// We instantiate Nuxt.js with the options
const isProd = process.env.NODE_ENV === 'production';
const config = require('./nuxt.config.js');

config.dev = !(isProd);
const nuxt = new Nuxt(config);

// No build in production
if (!isProd) {
  const builder = new Builder(nuxt);
  builder.build();
}
app.use(nuxt.render);
app.listen(3000);
console.log('Server is listening on http://localhost:3000');

Затем вы можете включить Bugsnag, как вы это обычно делаете в Express, я полагаю, потребовав его и включив в него какпромежуточное программное обеспечение.

0 голосов
/ 25 июня 2018

Вам не нужен экспресс для обработки ошибок в asyncData.Для обработки ошибок в asyncData / fetch на ssr вам просто нужно подключиться к render: errorMiddleware.См. sentry plugin для нюкста, например,

Но он будет перехватывать только ошибки, которые происходят в SSR.На клиенте, к сожалению, что ничего не поймать (а также экспресс не будет ничего делать для клиента).Существует ошибка для этого в nuxt см. здесь

...