在nuxt中使用newrelic

时间:2019-08-06 06:46:41

标签: node.js nuxt.js newrelic nuxt

我正在尝试将newrelic代理添加到我的nuxt应用程序中。我已经安装了所需的软件包,并添加了许可证密钥,并在newrelic.js配置文件中设置了应用程序名称:

npm i newrelic
cp node_modules/newrelic/newrelic.js .
nano newrelic.js

我的问题是我还需要在server.js文件的顶部需要此配置文件,并且由于该文件是动态创建的并放置在.nuxt文件夹下,所以我不知道该怎么做这个。

在标准的nodejs应用程序中,我只需将require('newrelic');添加到启动脚本的顶部,或者在package.json中添加新的脚本条目,如下所示:

"scripts": {
  "dev": "node -r newrelic.js app.js"
}

1 个答案:

答案 0 :(得分:1)

我最终使用pal解决了这个问题:

express

我们现在将npm i express touch server/index.js 加载到newrelic文件中,然后创建我们的nuxt实例:

server/index.js

我还更新了require('newrelic'); const express = require('express'); const consola = require('consola'); const { Nuxt, Builder } = require('nuxt'); const app = express(); // 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; // Build only in dev mode if (config.dev) { const builder = new Builder(nuxt); await builder.build(); } else { await nuxt.ready(); } // 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(); 中的script部分:

package.json

希望这可以帮助遇到同样问题的任何人。