如何在 Gatsby v2 中关闭生产中的源映射?

Sia*_*Sia 6 javascript webpack gatsby

我正在努力如何禁用生产源映射,因为默认的 Webpack 设置是省略了 devtool 选项,但 Gatsby v2 启用了它。我试过想出一种基于旧版本和新文档的方法,但它不起作用:

// gatsby-node.js
exports.onCreateWebpackConfig = ({ actions, stage }) => {
  if (stage === 'build-javascript') {
    // turn off source-maps
    actions.setWebpackConfig({
      devtool: false
    })
  }
};
Run Code Online (Sandbox Code Playgroud)

Sia*_*Sia 5

问题中的代码是正确的解决方案。问题是 Gatsby 不会删除/public/每个构建中的文件夹,因此之前创建的源映射仍然存在。因此,首先删除该文件夹,然后运行构建步骤。


kir*_*nvj 5

上述解决方案有效。还有另一个使用 gatsby 插件的选项gatsby-plugin-no-sourcemaps

先安装插件

npm i gatsby-plugin-no-sourcemaps
Run Code Online (Sandbox Code Playgroud)

之后转到gatsby-config.js您的项目根目录。

将其添加到插件数组中

gatsby-plugin-no-sourcemaps

转到公用文件夹,删除所有文件。再次运行构建命令gatsby build。现在构建将不会有 .map 文件。

gatsby-config.js会看起来像这样。

在此输入图像描述