Webpack
使用我们的 webpack 插件上传源映射。
本指南假设您使用的是 Sentry SDK 版本 7.47.0
或更高。如果您使用的是旧版本并且想要上传源映射,我们建议您将 SDK 升级到最新版本。
您可以使用 Sentry webpack 插件在打包应用程序时自动创建版本并上传源映射到 Sentry。
使用 webpack 配置源映射上传最简单的方法是通过 Sentry 向导:
npx @sentry/wizard@latest -i sourcemaps
向导将引导您完成以下步骤:
- 登录 Sentry 并选择一个项目
- 安装必要的 Sentry 包
- 配置您的构建工具以生成和上传源映射
- 配置您的 CI 以上传源映射
如果您更愿意手动配置 webpack 的源映射上传,请按照以下步骤操作。
安装 Sentry webpack 插件:
npm install @sentry/webpack-plugin --save-dev
要上传源映射,您需要配置一个 组织授权令牌。
或者,您也可以使用具有 "项目:读取和写入" 和 "版本:管理员" 权限的 用户授权令牌。
授权令牌可以通过 authToken
选项显式传递给插件,也可以通过 SENTRY_AUTH_TOKEN
环境变量或在构建项目时工作目录中的 .env.sentry-build-plugin
文件(不要忘记将其添加到 .gitignore
文件中,因为这是敏感数据)传递。我们建议您将授权令牌作为环境变量添加到您的 CI/CD 环境中。
了解更多关于配置插件的信息,请参阅我们的 Sentry webpack 插件文档。
.env.sentry-build-plugin
SENTRY_AUTH_TOKEN=sntrys_YOUR_TOKEN_HERE
以及以下 webpack 配置:
webpack.config.js
const { sentryWebpackPlugin } = require("@sentry/webpack-plugin");
module.exports = {
// ... other config above ...
devtool: "source-map", // Source map generation must be turned on
plugins: [
sentryWebpackPlugin({
org: "example-org",
project: "example-project",
authToken: process.env.SENTRY_AUTH_TOKEN,
}),
],
};
生成源映射文件可能会将其暴露给公众,从而导致您的源代码泄露。您可以通过配置服务器拒绝访问 .js.map
文件,或者使用 Sentry Webpack 插件的 sourcemaps.filesToDeleteAfterUpload
选项 在上传到 Sentry 后删除源映射文件来防止这种情况。
Sentry webpack 插件在监听模式/开发模式下不会上传源映射。我们建议运行生产构建来测试您的配置。
如果您使用 SourceMapDevToolPlugin 来更精细地控制源映射生成,请关闭 noSources
,以便 Sentry 可以在事件堆栈跟踪中显示正确的源代码上下文。