提问人:kubop 提问时间:11/17/2023 更新时间:11/17/2023 访问量:14
在 nodejs 中使用预加载模块
Using preloaded modules in nodejs
问:
我有点不确定预加载 nodejs 模块并在我的主文件中使用预加载实例的简单场景。
假设我有一个预加载.js文件:
// preload.js
let appInsights = require('applicationinsights')
appInsights.setup('your-instrumentation-key').start()
现在我像这样运行我的应用程序:node --require preload.js server.js
我想在我的服务器 .js 中使用预加载的 appInsights 实例,以便我可以调用它提供的一些函数,例如:
// server.js
appInsights.defaultClient.trackException(...)
但是我怎样才能正确地做到这一点呢?我找到了 2 种似乎有效的方法,但是,我不知道有什么区别:
- 添加到预加载.js和服务器.js
module.exports = appInsights
let appInsights = require('./preload')
- 保持 preload.js 原样并添加到服务器 .js(它使用的是在 preload.js 中初始化的实例)
let appInsights = require('applicationinsights')
问题是,在这个非常简单的场景中,两者似乎都在工作。当我引入 next.js 作为我的“服务器”并尝试预加载我的模块时,它变得不同了。如果我将一个简单的控制台 .log 放入我的预加载.js 中以查看它何时运行,则第一种方法似乎每次我都会输出控制台 .log 。第二种方法仅在第一次运行时输出。尽管如此,这两种方法似乎都有效,但我不知道幕后发生了什么。require('preload')
谢谢
答: 暂无答案
评论