如何在 razzle express 服务器文件中使用@sentry/node

Posted

技术标签:

【中文标题】如何在 razzle express 服务器文件中使用@sentry/node【英文标题】:How to use @sentry/node in razzle express server file 【发布时间】:2021-01-27 11:16:34 【问题描述】:

根据sentry's docs,节点的设置只是

// server.js
const Sentry = require("@sentry/node");

Sentry.init( dsn: "https://1df8da5e900e440e8d6e767ec6277ff9@o126849.ingest.sentry.io/296346" );

但是,当我运行 razzle start 时,我得到了这个

TypeError: mod.require is not a function

    at dynamicRequire (/Users/daniellizik/foo/node_modules/@sentry/utils/esm/node.js:19:1)
    at getDefaultSamplingContext (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/tracing/esm/hubextensions.js:107:1)
    at Hub._startTransaction (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/tracing/esm/hubextensions.js:162:1)
    at Hub.module.exports../node_modules/@sentry/hub/esm/hub.js.Hub._callExtensionMethod (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/hub/esm/hub.js:348:1)
    at Hub.module.exports../node_modules/@sentry/hub/esm/hub.js.Hub.startTransaction (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/hub/esm/hub.js:308:1)
    at callOnHub (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/minimal/esm/index.js:17:1)
    at startTransaction (/Users/daniellizik/foo/build/webpack:/node_modules/@sentry/minimal/esm/index.js:189:1)

通用应用的哨兵仓库中有closed issue,但没有提供解决方案。

【问题讨论】:

【参考方案1】:

这些部门现在似乎可以与通用 js 应用程序一起使用

"@sentry/browser": "6.8.0",
"@sentry/node": "6.8.0",
"@sentry/tracing": "6.8.0"

【讨论】:

以上是关于如何在 razzle express 服务器文件中使用@sentry/node的主要内容,如果未能解决你的问题,请参考以下文章

Inferno + TypeScript 同构应用

如何使用 async/await 在 Express 中完成这项工作

如何在 Ember CLI 中使用自定义 Express 服务器?

如何在自定义 Express 服务器上呈现 Next JS 页面

如何使用 javascript fetch api 和 express multer 上传图像

如何添加node express 为windows 启动服务器