如何使用 webpack 加载库源映射?

2023-12-26

我正在使用 webpack 构建两个项目;一个是另一个的图书馆。

在构建包装器项目时是否可以使用我的库项目中的源映射?我希望能够从我的包装器 UI 调试我的库代码。

我的构建工作正常,因为该库是内置的。唯一的问题是源映射。我在浏览器调试器中看到的 JavaScript 是丑陋的,因为源映射不可用。

我的项目结构片段:

+-- my-ui/
    +-- dist/
        +-- my-ui.js
        +-- my-ui.js.map
    +-- node_modules/
        +-- my-lib/
            +-- dist/
                +-- bundle.js
                +-- bundle.js.map

片段来自webpack.config.js:

module.exports = {
    entry: './src/js/main.jsx',
    output: {
        path: path.join(__dirname, 'dist'),
        filename: 'my-ui.js',
        library: 'my-ui',
        libraryTarget: 'umd'
    },
    devtool: 'source-map',
    module: {
        loaders: [
            {test: /\.jsx?$/, loader: 'babel', include: path.join(__dirname, 'src')}
        ]
    },
    plugins: [
        new Clean('dist'),
        new HtmlWebpackPlugin({
            template: 'src/index.html',
            inject: true
        })
    ]
};

我终于弄清楚我的问题了...

感谢@BinaryMuse 提供的提示源映射加载器 https://github.com/webpack/source-map-loader。这确实是正确的方法,尽管它最初对我不起作用。

我最终意识到我需要启用source-map-loader对于“my-lib”中的 webpackand“我的用户界面”。没有source-map-loader在“my-lib”webpack 配置中,source-map-loader在“my-ui”错误中(遗憾的是带有警告消息),因为它无法找到“my-lib”传递依赖项的源映射。显然源地图非常好source-map-loader能够查看依赖树的各个方面。

另外值得注意的是,我使用时遇到了一个问题source-map-loader和这个结合react-hot-loader. See, react-hot-loader不包括源地图。什么时候source-map-loader试图找到它们(因为它只是扫描所有内容),但它不能并中止所有内容。

最后,我想source-map-loader具有更强的容错能力,但如果设置正确,它确实可以工作!

devtool: 'source-map',
module: {
    preLoaders: [
        {test: /\.jsx?$/, loader: 'eslint', exclude: /node_modules/},
        {test: /\.jsx?$/, loader: 'source-map', exclude: /react-hot-loader/}
    ],
    loaders: [
        {test: /\.jsx?$/, loader: 'raect-hot!babel', exclude: /node_modules/}
    ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 webpack 加载库源映射? 的相关文章

随机推荐

  • alembic 并获取最后插入的值

    我正在使用 alembic 来管理我的数据库结构 使用 id 作为整数和主键添加表后 id 列将成为自动增量列 如何查询升级脚本中的数据 以便确保获得正确的 ID 我知道在本例中为 1 我知道怎么做 creating the table o
  • C# 中的委托问题

    在下面的程序中 DummyMethod 总是打印 5 但是如果我们使用注释代码 我们会得到不同的值 即 1 2 3 4 有人可以解释为什么会发生这种情况吗 delegate int Methodx object obj static int
  • Excel - 从数据透视表中提取列并将其显示在常规表中

    我想从数据透视表中的特定列中提取数据并将其显示在常规 Excel 表中 这可能吗 当数据透视表中有新数据时 它应该自动更新 我之前编写了一些代码将表从属于数据透视表 以便数据透视表尺寸或位置的任何更改都将反映在阴影表的尺寸和位置中 这有效地
  • 检测 X11 根窗口中的修改键释放

    总体目标就像 Windows 的 Alt Tab 所以我将使用这些键进行解释 我想 按 Alt gt 按 Tab gt 弹出窗口出现 gt 按住 Alt 的任何时候按 Tab gt 释放 Alt gt 弹出窗口消失 我无法检测到最终的 Al
  • Delphi EOutOfResources(GDI错误)

    我编写了一个应用程序 其中偶尔会出现 EOutofResources 错误 将 TBitmap32 保存到流时 由 Graphics 单元的 GD IError 方法引发 据我所知 它可能来自 gdi 限制或堆限制 我知道该进程的默认限制为
  • 在executeBatch()之后我需要一个connection.commit()吗?

    我必须检查同事的代码 我偶然发现了这段代码 private void pdate JdbcTemplate jdbcTemplate List
  • Microsoft Visual Studio 2019:无法打开项目文件。无法找到 .NET SDK

    我刚刚升级了我的视觉工作室2019到最新版本16 8 3突然间 我无法加载任何 C 项目 并且所有 NET Core 项目都出现以下错误 无法打开项目文件 无法找到 NET SDK 检查它是否已安装以及指定的版本 global json 如
  • PhoneGap 中可以集成支付网关吗?

    我想在 Android 和 IOS 的 PhoneGap 应用程序中实现支付网关集成 请帮助我执行正确的步骤 PhoneGap PayPal iPhone 插件 Here is link of PayPal Plugin for Phone
  • 从常规文件读取:阻止或返回更少的数据?

    是否有可能read to block 返回的数据少于请求的数据 从常规文件读取时 不包括 请求超过 SSIZE MAX 的数据 读取超出 EOF 的内容 信号中断 read 3 表明 排除上述条件 从常规文件读取时read永远不会返回少于请
  • 以编程方式膨胀 TextView 和 LinearLayout

    这里的问题是 在这两种情况下我没有得到相同的输出视图结果 我想修复情况 1 以获得与情况 2 相同的输出结果 膨胀textview和线性布局 然后以编程方式将textview添加到线性布局 将textview添加到xml中的线性布局中 案例
  • 如何将文本放入边框

    我正在尝试在边框中插入一些文本 但不知道该怎么做 我怎样才能在边框中间放置一些文本 下面是它应该看起来像的屏幕截图 尝试 HTML 图例标签 HTML图例 http www w3schools com tags tag legend asp
  • 如何使用C#获取Excel中当前打开的文档?

    我所需要的只是获取当前打开的 Microsoft Excel 实例中当前打开的文档列表 但我不知道 Excel 术语 不知道这些文档是否称为工作簿 工作表或窗口等 有任何想法吗 找到了 link http support microsoft
  • 如何将多个 xml 文件转换并合并为一个文件

    我希望您能帮助我使用 XSLT 将一些 XML 转换为新的 XML 我有选择多个 XML 并对它们应用 XSLT 的代码 我的问题是 XSLT 我想将这些 shop1 xml shop2xml 转换为 allshops xml 对于知道如何
  • 访问 ruby​​ 块内的厨师资源

    我一直试图在厨师文档和谷歌中找到这个问题的答案 但我一无所获 我还不是一个红宝石爱好者 所以这个问题的答案可能源于我用 为 Chef 准备足够的红宝石 来解决这个问题 这就是我想做的 在我的deploy资源 在before migrate属
  • 为什么我的 javascript 文件无法加载?

    我正在尝试将 JS 文件加载到我的网站中 我已将该文件放入与加载的文件完全相同的文件夹中 但 firebug 没有显示它已加载 并且其效果不可见 为什么会这样呢 这是加载脚本的代码 第一个未加载 第二个已加载 这是脚本本
  • 动态壁纸背景视差效果滚动

    我试图让动态壁纸中的背景在用户更改主屏幕时滚动时表现得像普通壁纸一样 我知道所需的方法是 onOffestsChanged 但我似乎无法让它工作 有人有建议或代码片段来让它工作吗 让您的引擎实现 onOffsetsChanged xOffs
  • Selenium click() - 选择按钮但不单击

    I m using Selenium Python to do something like a Robotic Process Automation However I am facing problems clicking in a b
  • Django 过滤 ModelFormSet 字段选择...与限制 Formset 的查询集不同

    我明白这是可能的覆盖模型表单集 使用 的默认查询集 https docs djangoproject com en dev topics forms modelforms using a custom queryset 这只是限制了为其创建
  • 将 int 文字分配给字节变量时是否需要进行强制转换?

    我读过一本书 有一句话 byte rounds 12 fighters byte 2 它指出 字节原语有一个四字节有符号整数作为其有效值 文字 如果未执行显式转换 则整数为 隐式转换为一个字节 根据Oracle文档 一个字节本质上不应该是一
  • 如何使用 webpack 加载库源映射?

    我正在使用 webpack 构建两个项目 一个是另一个的图书馆 在构建包装器项目时是否可以使用我的库项目中的源映射 我希望能够从我的包装器 UI 调试我的库代码 我的构建工作正常 因为该库是内置的 唯一的问题是源映射 我在浏览器调试器中看到