我有一个用Nuxt.js构建的项目,我想使用express来报告有关asyncData方法等的bugsnag错误。
我该如何导入?我想这不像npm install express --save那样简单。
我已经有一个用PHP编写的api,所以我不会将其用作api或其他任何东西。
是不是太过分了?还是有必要的邪恶? :D
答案 0 :(得分:4)
要开始将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,我认为是通过要求它并将其作为中间件来包含的。
答案 1 :(得分:0)
您无需表达即可处理asyncData中的错误。要处理ssr上asyncData / fetch中的错误,您只需挂接到render:errorMiddleware。有关示例,请参见sentry plugin
但是它只会捕获SSR上发生的错误。不幸的是,在客户端上不会捕获任何东西(以及表示不会为客户端做任何事情)。在nuxt中有一个错误,请参见here