webpack中的"pragma style"是什么意思?
what is the meaning of "pragma style" in webpack?
在 devtool configuration docs 他们说:
Prefixing @, # or #@ will enforce a pragma style. (Defaults to #,
recommended)
这是什么意思?
不同的浏览器需要不同的格式来指定源映射。如果您的浏览器没有显示 webpack 文件的源映射,那么您可以更改该选项以使其与您的浏览器兼容。
为了更明确一点,所指的 "pragma" 是向浏览器表示元数据的字符序列。在这种情况下,元数据告诉浏览器在哪里获取源映射文件,它是否应该决定加载它(例如,当用户打开浏览器开发工具时)。
如 sirlancelot 的 link 所示,pragma 的标准格式是使用以下形式的注释,以 //#
:
开头
//# sourceMappingURL=/path/to/file.js.map
在最新版本的 Webpack 中,如果您没有在 devtool
设置中指定 pragma 字符,那么它默认使用注释字符后的 #
字符,如上所示。
虽然在旧版本的 Webpack 中,pragma 字符用于默认为 @
,这将导致以下形式的注释:
//@ sourceMappingURL=/path/to/file.js.map
在最近的浏览器中使用 //@
表单现在将导致浏览器控制台中出现弃用警告(至少在 Chrome 中)。
如果您需要支持旧版浏览器,您可以通过在 devtool
设置前加上所需字符来覆盖默认编译指示,例如:
devtool: "@source-map"
或将其明确设置为 #
:
devtool: "#source-map"
但最干净的 IMO 方法是省略前缀字符并让 Webpack 通过将其指定为来添加默认值:
devtool: "source-map"
在 devtool configuration docs 他们说:
Prefixing @, # or #@ will enforce a pragma style. (Defaults to #, recommended)
这是什么意思?
不同的浏览器需要不同的格式来指定源映射。如果您的浏览器没有显示 webpack 文件的源映射,那么您可以更改该选项以使其与您的浏览器兼容。
为了更明确一点,所指的 "pragma" 是向浏览器表示元数据的字符序列。在这种情况下,元数据告诉浏览器在哪里获取源映射文件,它是否应该决定加载它(例如,当用户打开浏览器开发工具时)。
如 sirlancelot 的 link 所示,pragma 的标准格式是使用以下形式的注释,以 //#
:
//# sourceMappingURL=/path/to/file.js.map
在最新版本的 Webpack 中,如果您没有在 devtool
设置中指定 pragma 字符,那么它默认使用注释字符后的 #
字符,如上所示。
虽然在旧版本的 Webpack 中,pragma 字符用于默认为 @
,这将导致以下形式的注释:
//@ sourceMappingURL=/path/to/file.js.map
在最近的浏览器中使用 //@
表单现在将导致浏览器控制台中出现弃用警告(至少在 Chrome 中)。
如果您需要支持旧版浏览器,您可以通过在 devtool
设置前加上所需字符来覆盖默认编译指示,例如:
devtool: "@source-map"
或将其明确设置为 #
:
devtool: "#source-map"
但最干净的 IMO 方法是省略前缀字符并让 Webpack 通过将其指定为来添加默认值:
devtool: "source-map"