如何在 Gatsby v2 的生产环境中关闭源地图?
How do I turn off source maps in production in Gatsby v2?
我正在努力如何为生产禁用源映射,因为默认的 Webpack 设置是省略 devtool 选项,但 Gatsby v2 启用它。我试着想出一种基于旧版本和新文档的方法,但它不起作用:
// gatsby-node.js
exports.onCreateWebpackConfig = ({ actions, stage }) => {
if (stage === 'build-javascript') {
// turn off source-maps
actions.setWebpackConfig({
devtool: false
})
}
};
问题中的代码是正确的解决方案。问题在于 Gatsby 不会在每次构建时删除 /public/
文件夹,因此之前创建的源映射仍然存在。因此,首先删除该文件夹,然后 运行 构建步骤。
以上解决方案有效。还有另一种选择使用 gatsby 插件 gatsby-plugin-no-sourcemaps
先安装插件
npm i gatsby-plugin-no-sourcemaps
之后转到项目根目录中的 gatsby-config.js
。
将其添加到插件数组中
gatsby-plugin-no-sourcemaps
转到 public 文件夹,删除所有文件。 运行 再次构建命令 gatsby build
。现在构建将没有 .map 文件。
gatsby-config.js
看起来像这样。
我正在努力如何为生产禁用源映射,因为默认的 Webpack 设置是省略 devtool 选项,但 Gatsby v2 启用它。我试着想出一种基于旧版本和新文档的方法,但它不起作用:
// gatsby-node.js
exports.onCreateWebpackConfig = ({ actions, stage }) => {
if (stage === 'build-javascript') {
// turn off source-maps
actions.setWebpackConfig({
devtool: false
})
}
};
问题中的代码是正确的解决方案。问题在于 Gatsby 不会在每次构建时删除 /public/
文件夹,因此之前创建的源映射仍然存在。因此,首先删除该文件夹,然后 运行 构建步骤。
以上解决方案有效。还有另一种选择使用 gatsby 插件 gatsby-plugin-no-sourcemaps
先安装插件
npm i gatsby-plugin-no-sourcemaps
之后转到项目根目录中的 gatsby-config.js
。
将其添加到插件数组中
gatsby-plugin-no-sourcemaps
转到 public 文件夹,删除所有文件。 运行 再次构建命令 gatsby build
。现在构建将没有 .map 文件。
gatsby-config.js
看起来像这样。