【问题标题】:Disabling chunks with rewire still creates chunks after npm build在 npm build 之后,使用 rewire 禁用块仍然会创建块
【发布时间】:2020-04-10 10:24:41
【问题描述】:

我遵循this 教程在运行 npm build 时禁用块/代码分割,运行 npm build 后它仍然会创建 chunks

任何人都知道为什么会这样,为了记录,这是我的“build-non-split.js”文件,我不使用 webpack,我只使用 create-react-app2

const rewire = require('rewire')
const defaults = rewire('react-scripts/scripts/build.js') // If you ejected, use this instead: const defaults = rewire('./build.js')
let config = defaults.__get__('config')

config.optimization.splitChunks = {
    cacheGroups: {
        default: false
    }
}

config.optimization.runtimeChunk = false
// Renames main.00455bcf.js to main.js
config.output.filename = 'static/js/[name].js'

// Renames main.b100e6da.css to main.css
config.plugins[5].options.filename = 'static/css/[name].css'
config.plugins[5].options.moduleFilename = () => 'static/css/main.css'

【问题讨论】:

    标签: javascript reactjs create-react-app chunks


    【解决方案1】:

    我使用这种完全相同的技术(build-non-split.js 的代码相同)来防止在构建 React 应用程序时发生代码拆分...直到今天它对我都有效,React 的更新发生了一些重大变化v17。我通过从index.js 中删除reportWebVitals(); 和import reportWebVitals from "./reportWebVitals"; 来修复它。 Web Vitals 似乎是 React 17 的新功能,并取代了 service worker。

    在 React 更新之前它似乎对您不起作用,因此您可以尝试删除 index.js 中的服务工作者导入和函数调用。或者,只需将您的 React 应用升级到 v17 并删除上述 Web Vitals。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2016-11-27
      • 2017-09-17
      • 2016-12-13
      相关资源
      最近更新 更多