Next.js:如何将 source-map-explorer 与 Next.js 一起使用

2024-05-14

我想分析我的 Next.js 构建源地图浏览器 https://www.npmjs.com/package/source-map-explorer。有人可以帮我编写脚本吗?

对于 React (CRA),我使用以下脚本:

"build:analyze": "npm run build && source-map-explorer 'build/static/js/*.js'",
npm run build:analyze

是否有类似的方法来分析内部构建.next还有?



UPDATE

.next/文件结构:

.next
├── BUILD_ID
├── build-manifest.json
├── cache
│   └── webpack
│       ├── client-production
│       │   ├── 0.pack
│       │   └── index.pack
│       └── server-production
│           ├── 0.pack
│           └── index.pack
├── export-marker.json
├── images-manifest.json
├── prerender-manifest.json
├── react-loadable-manifest.json
├── required-server-files.json
├── routes-manifest.json
├── server
│   ├── chunks
│   │   ├── 129.js
│   │   ├── 398.js
│   │   ├── 50.js
│   │   ├── 649.js
│   │   ├── 664.js
│   │   ├── 690.js
│   │   ├── 803.js
│   │   ├── 825.js
│   │   └── 859.js
│   ├── font-manifest.json
│   ├── pages
│   │   ├── 404.js
│   │   ├── 500.html
│   │   ├── _app.js
│   │   ├── _document.js
│   │   ├── _error.js
│   │   ├── api
│   │   │   └── get-config.js
│   │   ├── auth
│   │   │   ├── login-error.js
│   │   │   ├── login-success.js
│   │   │   └── vendor-repair.js
│   │   ├── help.js
│   │   ├── home.js
│   │   ├── index.js
│   │   ├── onboarding.js
│   │   ├── photo-gallery-details.js
│   │   ├── photo-gallery.js
│   │   ├── popup.js
│   │   ├── practise.js
│   │   ├── privacy-policy.js
│   │   ├── profile.js
│   │   ├── reference-documents.js
│   │   ├── repair-details.js
│   │   ├── repair-request.js
│   │   ├── stage-area.js
│   │   ├── store-comments.js
│   │   ├── store-visit-checklist.js
│   │   ├── store-visit-history.js
│   │   ├── visual-merchandise-details.js
│   │   └── visual-merchandise.js
│   ├── pages-manifest.json
│   └── webpack-runtime.js
└── static
    ├── chunks
    │   ├── 29107295-62449f6ab50432c0efef.js
    │   ├── 475-f51e5d80bd683f3b5684.js
    │   ├── 4a3ea9cd-27e375e040b0a04d492d.js
    │   ├── 514-2f11410f8595f17ec257.js
    │   ├── framework-c179ed8d0295df0a6019.js
    │   ├── main-c9abfc3dcd7802a764ed.js
    │   ├── pages
    │   │   ├── 404-8481e9d7d36e8670eb39.js
    │   │   ├── _app-eb5037c043313bbfb3fc.js
    │   │   ├── _error-a33892d286e78bfa334d.js
    │   │   ├── auth
    │   │   │   ├── login-error-8141cf890a77a08b5fd7.js
    │   │   │   ├── login-success-494df6631cb3f5141e9a.js
    │   │   │   └── vendor-repair-bed782e18fed509b3903.js
    │   │   ├── help-e318e021fc815ad4c48a.js
    │   │   ├── home-c6c8b871ab5c5738665e.js
    │   │   ├── index-bd34bcc4cc28f9419b8d.js
    │   │   ├── onboarding-07120812010a84501867.js
    │   │   ├── photo-gallery-details-f515c1b20e11f414190b.js
    │   │   ├── photo-gallery-e3972e175274149dba6b.js
    │   │   ├── popup-81f14fa216f8b1def307.js
    │   │   ├── practise-2b8d378b633a9b426aab.js
    │   │   ├── privacy-policy-5c65687e77deed0661a0.js
    │   │   ├── profile-58058efb871cd14f8a2e.js
    │   │   ├── reference-documents-6507fb50d903d9b6881e.js
    │   │   ├── repair-details-e2e94513e20e98f7e274.js
    │   │   ├── repair-request-26a0d3902ac752eafeab.js
    │   │   ├── stage-area-64d34fda6a621eecdc1c.js
    │   │   ├── store-comments-9dbd60b5353c708b220b.js
    │   │   ├── store-visit-checklist-411682c351d799fe983a.js
    │   │   ├── store-visit-history-224243943fdb8ae73663.js
    │   │   ├── visual-merchandise-88be768dfe1fc5ada55f.js
    │   │   └── visual-merchandise-details-c102d8d548e4757a72e6.js
    │   ├── polyfills-7b08e4c67f4f1b892f4b.js
    │   └── webpack-e5108aeecfc3e7f070df.js
    ├── css
    │   ├── 03632b0eee83f601f359.css
    │   └── f999bd706539c2e100c7.css
    ├── media
    │   ├── Metropolis-Medium.251ab6a3f9cf79779269596ecbe28574.eot
    │   ├── Metropolis-Medium.a8208f13e1711b160eabc04bafbd04d9.ttf
    │   ├── Metropolis-Medium.bff42e1c5682f2689bdc8e47a3753b27.woff2
    │   ├── Metropolis-Medium.f23d75633ae80143c0f4d819d6a0d323.woff
    │   ├── Metropolis-Regular.360d0f5a8067816addd5a4da45aaa660.eot
    │   ├── Metropolis-Regular.b54f45f08c62b81d0078de96bb920cd9.ttf
    │   ├── Metropolis-Regular.cd75f7c84a6375cdee1928c936c13a20.woff
    │   ├── Metropolis-Regular.e90dcb53335abcd72603e0718c6c8cd2.woff2
    │   ├── Metropolis-SemiBold.03a3e314fb58e1b6fe4104e24dee09a7.woff
    │   ├── Metropolis-SemiBold.1c6f27c0abbd4b2a94f84e21efc14265.eot
    │   ├── Metropolis-SemiBold.3af64c0941a01fed6ea3e61028323897.woff2
    │   ├── Metropolis-SemiBold.bdaa1ae71421dd75bb29537a78b2ed08.ttf
    │   ├── ajax-loader.fb6f3c230cb846e25247dfaa1da94d8f.gif
    │   ├── helveticaneue-bold.54da3e9e715c351fef284c8fe3d191d2.eot
    │   ├── helveticaneue-bold.80c2aa2e5c685eae489425fd673346f0.woff
    │   ├── helveticaneue-bold.b17142a9ee042ff5cfecce7bc12f3513.ttf
    │   ├── helveticaneue-bold.b82ee7f1ae8568f0d6bae2b98b4bff46.svg
    │   ├── helveticaneue-bold.f66775fae72ac8325a23028c5accda16.woff2
    │   ├── helveticaneue-light.61226a60a0b5787be0fba7d142ee703d.woff2
    │   ├── helveticaneue-light.6e3ec2feb1535ebf53e9f4d25dcfa94f.woff
    │   ├── helveticaneue-light.d846f89ab1d295bd315d9c71167df502.svg
    │   ├── helveticaneue-light.ddf262cb96782fefcbc8984c8131a471.eot
    │   ├── helveticaneue-light.fb11a81f919945d13c73b549d4e7e1e1.ttf
    │   ├── helveticaneue-medium.29744a2c2edcc640ecb99d2de05f9c2e.woff
    │   ├── helveticaneue-medium.4a368f8dd72410bb7e6ffe37e91100c4.ttf
    │   ├── helveticaneue-medium.54e305719b6cfc7db698fa584ea9e738.woff2
    │   ├── helveticaneue-medium.8aca99ab7abac084902d2fcd8a68625e.svg
    │   ├── helveticaneue-medium.bfaaa603f19e12a88d35305f96b4b25f.eot
    │   ├── slick.2630a3e3eab21c607e21576571b95b9d.svg
    │   ├── slick.295183786cd8a138986521d9f388a286.woff
    │   ├── slick.a4e97f5a2a64f0ab132323fbeb33ae29.eot
    │   └── slick.c94f7671dcc99dce43e22a89f486f7c2.ttf
    └── pNP1560UJNYEPcr4n-2-U
        ├── _buildManifest.js
        └── _ssgManifest.js

可用时间自Next.js 10.0.4 https://github.com/vercel/next.js/releases/tag/v10.0.4,您可以在您的生产版本中启用源映射生成next.config.js文件,因为默认情况下它是禁用的。

// next.config.js

module.exports = {
    productionBrowserSourceMaps: true
}

然后,您可以修改 npm 脚本以定位到正确的文件夹.next目录。

"build:analyze": "npm run build && source-map-explorer .next/static/**/*.js"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Next.js:如何将 source-map-explorer 与 Next.js 一起使用 的相关文章

随机推荐

  • ASCII“../”是 PHP 中指示目录遍历的唯一字节序列吗?

    我有一个 PHP 应用程序 它使用 GET参数来选择文件系统上的 JS CSS 文件 如果我拒绝输入字符串包含的所有请求 或者可见 7 位 ASCII 范围之外的字节 当路径传递到 PHP 的底层 基于 C 文件函数时 这是否足以防止父目录
  • jQuery UI 可排序和对话

    是否可以在两个列表之间拖动 jQuery UI 可排序列表项 其中一个在 jQuery UI 对话框中 另一个不在 jQuery UI 对话框中 我正在尝试创建一个对话框 用户可以将表单字段从对话框中拖到页面上的表单中 但我无法将项目拖出对
  • IE8 中空 div 层的 z-index 问题

    我在 IE8 中遇到 z index 问题 其他尚未测试 以下 JS 创建一些 html css document write img src border 0 document write div style background col
  • MongoDB - 打开和关闭连接 - 建议良好实践

    我通过 Node js 的驱动程序使用 MongoDB 我通常打开一个连接 通过connect 方法 任何时候我需要执行操作并关闭它 通过close 方法 一旦我完成 在我的程序中 我自然需要对 MongoDB 执行许多操作 因此我会多次打
  • 如何避免 TypeScript 中出现虚假的“未使用参数”警告

    我遇到过很多次这种情况 最后决定弄清楚正确的方法是什么 如果我有一个声明方法的抽象父类 然后一些具体子类在其实现中实现真正的逻辑 并且显然使用方法参数 但某些子类不需要在该方法中执行任何操作 因此不要使用方法参数 那些不必执行任何操作的方法
  • Ruby 中多维数组的帮助

    我有以下代码将字符串拆分为 3 个字节的组 str hello ix 0 iy 0 bytes tby str each byte do c if iy 3 iy 0 bytes ix tby each index do i bytes i
  • ApplicationController 的未定义方法“helper_method”,Rails 5

    我正在尝试使用doorkeeper 将oAuth2 0 集成到我的仅rails api 应用程序中 但我不断收到此错误 ApplicationController 的未定义方法 helper method 但无法找到解决该问题的明确解决方案
  • MVC和依赖注入,被迫使用单例Controller?

    我正在致力于构建一个根据 MVC 原则运行并利用依赖注入的 PHP 框架 我想我已经把前端控制器部分放下了 有一个工作路由器实例化控制器实例并根据请求的 URI 调用适当的操作 接下来是依赖注入 我想实现一个使用反射解决依赖关系的容器 这样
  • 增加 MS Teams 通道自适应卡的宽度

    我有一张带有 4 个按钮的自适应卡 但问题是我的第四个按钮转到了下一行 我想将所有按钮放在一行中 那么有什么方法可以增加自适应卡的宽度以将按钮对齐成一行 我正在使用机器人框架 v3 C 将以下属性添加到自适应卡以设置使用整个窗口的宽度 sc
  • 如何在iphone APP中下载facebook和Picasso的图片

    任何人告诉我有关 iphone 中从 facebook 和 picassa 下载图像的功能 我正在其中制作应用程序 我想制作通过我的应用程序从 picassa 和 facebook 下载选定图像的功能 那么我必须做什么 谢谢 查看NSURL
  • 数据库中的持久日期不等于检索日期

    我有一个具有 Date 属性的简单实体类 此属性对应于 MySQL 日期时间列 Entity public class Entity Column name start date Temporal TemporalType TIMESTAM
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • clang 格式换行符在错误的位置

    给出以下代码行 get abc manager get platform status abc platform status sw update status fill update status actions allowed stat
  • python中将对象数据类型转换为字符串问题

    如何将对象数据类型结构转换为字符串数据类型 下面的方法不起作用 该列仍然存在object转换为字符串后 astype import pandas as pd df pd DataFrame country A B C D E df dtyp
  • 在 VS2017 下使用 Conan 和 CMake 项目进行依赖管理

    我正在尝试使用 CMake 与 VS2017 集成为 C 设置一个开发环境 以便在 Linux x64 下进行编译 为了更好地管理依赖关系 我选择使用 Conan 但我对这个软件还很陌生 我想知道让 VS2017 识别项目依赖关系的最佳方法
  • NSTable行点击事件

    我正在开发 Xamarin Mac 应用程序 目前正在创建新闻源列表 我想要的是 当用户单击其中一行时 我会执行一些操作 打开浏览器并显示完整的故事 这是我的自定义单元格 行 的样子 public class CustomLatestNew
  • 在 Google App Engine 中上传图像时出现 503 和 400

    最近 我在将文件上传到我的 Java gae 应用程序时遇到了两个问题 我正在使用中描述的技术Blob 存储文档 https developers google com appengine docs java blobstore overv
  • 类更改(例如字段添加或删除)是否保持 Serialized 的向后兼容性?

    我有一个关于 Java 序列化的问题 在这种情况下 您可能需要修改可序列化类并保持向后兼容性 我有丰富的 C 经验 所以请允许我将 Java 与 NET 进行比较 在我的Java场景中 我需要使用Java的运行时序列化机制序列化一个对象 并
  • 如何使用 zlib 制作 .zip 文件

    我正在阅读zlib的文档 它相当详细 但我读到了这一行 输出数据将位于zlib格式 与 gzip 或zip formats http www zlib net zlib how html http www zlib net zlib how
  • Next.js:如何将 source-map-explorer 与 Next.js 一起使用

    我想分析我的 Next js 构建源地图浏览器 https www npmjs com package source map explorer 有人可以帮我编写脚本吗 对于 React CRA 我使用以下脚本 build analyze n