【发布时间】:2020-07-06 09:46:29
【问题描述】:
我正在使用 NextJs/ReactJs(带有 Typescript)应用程序,我正在尝试将源地图上传到 Sentry 人工制品。
此应用的构建不会捆绑到单个文件中。 相反,dist/output 文件夹反映了 NextJs 页面结构,在这种情况下,它具有类似于以下的树结构:
.next
|__ static
|__ buildId
|__ app.js
|__ _app.js.map
|__ index.js
|__ index.js.map
|__ customer
|__ [customerId]
|__ details.js
|__ details.js.map
|__ sub folder 1
|__ sub folder 2
所有 .js 文件都引用一个 .map 文件。比如/.next/static/buildId/index.js,最后一行是//# sourceMappingURL=index.js.map。
然后,我使用以下命令将源地图上传到 Sentry:
docker exec -it wtr-admin_app_container yarn sentry-cli
--auth-token=${SENTRY_AUTH_TOKEN} releases
--org=${SENTRY_ORGANIZATION}
--project=${SENTRY_PROJECT} files ${VERSION} upload-sourcemaps "./src/.next/static/"
--url-prefix "~/_next/static/"
--no-rewrite
问题在于--url-prefix,对于/.next/static/buildId/index.js 文件应该是~/_next/static/buildId/,但对于/.next/static/buildId/customer/[customerId]/details.js 文件应该是~/_next/static/buildId/customer/[customerId]/。
因此,上传相同 url-prefix 下的所有文件将无法正常工作。
有没有办法上传这个树形结构,让 .js 文件与其 .map 文件正确关联?
RewriteFrames 是否适合此用例?
【问题讨论】:
标签: javascript typescript next.js sentry