生产环境的构建版本中是否应该包含带有 `webpack://` 的 URL 和源映射?

7

我知道在生产环境中不应该使用它们,以前我只在使用webpack-dev-server进行开发构建时注意到了webpack://,并不知道在生产构建中会出现什么情况。

如果你的生产构建有sourcemaps,那么webpack是否应该具有webpack:// URL?

例如,如果我查看类似于build/bundle.js.map这样的开发构建sourcemap,我会看到webpack://映射到我的文件位置,使用webpack-dev-server在dev模式下进行更快的重新加载(还有更多),想知道生产构建期望是什么?

编辑:我是个傻瓜,我说的是sourcemap而不是sitemap


1
是的,只有在 webpack-dev-server 的情况下,才需要使用它。在生产构建中不需要。 - Gaurav Paliwal
生产环境构建中是否会包含 webpack:// 呢? - garrettmac
1
但是它们肯定被称为源代码映射。 - Daniel Khoroshko
我知道你已经提到过了,但为什么你想在生产环境中使用站点地图呢?它们不会给页面增加相当可观的负担吗? - Pytth
我不想提及我的问题背后的原因,因为我以前从未见过这种情况,但你是正确的,我不希望在生产构建中使用源映射。 - garrettmac
2个回答

2

这个问题有点跳跃,所以我会尝试根据我的理解回答问题:

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

首先,实际上webpack内部不存在所谓的“生产”构建。事实上,在webpack的实际源代码中没有任何关于NODE_ENV的引用。

这一点很重要,因为它为理解webpack不知道正在构建的环境铺平了道路 - 你知道。因此,Webpack的捆绑输出不会改变,除非您使其改变,即通过更改webpack使用的配置来实现。

接下来是源映射,所有工具(类型源映射)大约使用相同(可配置的)工具文件名模板。所有由工具(源映射)使用的文件名都遵循该模板,默认情况下以 webpack:// 开头。因此,所有生成的源映射路径都将以 webpack:// 开头。

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


0
你可以在 package.json 文件中进行更改。
     "scripts":{
        "start" : "webapck"
      }

在获取bundle.js或其他文件后,将您的.js文件添加到html文件中。然后在任何其他环境(如nodeJs)中运行您的html页面...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接