【问题标题】:Should webpack have `webpack://` urls in production builds with source maps?webpack 是否应该在带有源映射的生产版本中包含 `webpack://` url?
【发布时间】:2017-12-13 18:09:20
【问题描述】:

我知道无论如何你都不应该将它们真正投入生产,过去我只注意到在我使用webpack-dev-server 的开发版本中看到了webpack://,并且不知道产品版本中的预期内容。

如果你有一个带有源映射的生产版本,webpack 是否应该有 webpack:// url?

例如,如果我在类似 build/bundle.js.map 的地方查看我的开发构建源映射,我会看到 webpack:// 使用 webpack-dev-server 映射到我的文件位置,以便在开发模式和只是想知道生产版本的预期是什么?

编辑:我是个白痴,我说的是sitemap,而我的意思是sourcemap

【问题讨论】:

  • 是的,只有在 webpack-dev-server 的情况下,您在生产构建中不需要它。
  • 它会有webpack:// 用于与它们一起构建的产品吗?
  • 但它们肯定被称为源图
  • 我知道你已经提到过,但你到底为什么要在生产环境中使用站点地图呢?他们不是在页面上增加了不小的重量吗?
  • 我不想提及我的问题背后的原因,因为我以前从未见过这种情况,但你说得对,我不希望在 prod 构建中使用源映射。

标签: javascript webpack


【解决方案1】:

原来的问题有点跳跃,所以我会尽量回答我看到的问题:

使用 webpack 进行“生产”构建的源映射是否仍然具有 webpack:// 样式的源路径路径?

首先,对于 webpack 的内部结构,真的 没有所谓的“生产”构建。其实在webpack的实际源码中有0个对NODE_ENV的引用。

指出这一点很重要,因为它为理解webpack 不知道它所构建的环境铺平了道路——你知道。因此,webpack 的捆绑输出不会改变,除非你改变它,即通过改变 webpack 使用的配置。

转到源映射,所有devtools(源映射类型)都使用大致相同的(可配置devtool filename template。 devtools(源映射)使用的所有文件名都遵循该模板,该模板默认以webpack:// 开头。因此,在给定默认值的情况下,为源映射生成的所有路径都将以webpack:// 开头。

所以,要回答上述问题:是的,“生产”构建的源映射将具有使用 webpack:// 协议的路径,除非更改了 output.devtoolModuleFilenameTemplate 选项。

【讨论】:

    【解决方案2】:

    您可以在 package.json 文件中更改它

         "scripts":{
            "start" : "webapck"
          }
    

    在您获得 bundle.js 或任何其他文件之后。将 .js 文件添加到 html 文件后。然后在 nodeJs 等任何其他环境中运行您的 html 页面...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 2017-10-07
      • 2016-02-27
      • 2014-09-05
      • 2021-10-02
      • 2015-11-24
      • 2016-09-05
      相关资源
      最近更新 更多