【问题标题】:webpack-dev-server compiling very slow in rails appwebpack-dev-server 在 Rails 应用程序中编译非常慢
【发布时间】:2020-12-04 11:43:52
【问题描述】:

当我跑步时

bin/webpack-dev-server

在使用 react-rails gem 的 rails 5.1.7 应用程序上,它可能会卡住超过 10-20 分钟并显示以下消息:

ℹ 「wdm」: wait until bundle finished: /packs/js/application-5bc097626fe492d88e56.js

我的配置是:

在 erb.js 中

module.exports = {
  test: /\.erb$/,
  enforce: 'pre',
  exclude: /node_modules/,
  use: [{
    loader: 'rails-erb-loader',
    options: {
      runner: (/^win/.test(process.platform) ? 'ruby ' : '') + 'bin/rails runner'
    }
  }]
}


在 development.js 中

process.env.NODE_ENV = process.env.NODE_ENV || 'development'

const environment = require('./environment')

// Watch directories that often change the views.
// From: https://github.com/rails/webpacker/issues/1879#issuecomment-558397652
const chokidar = require('chokidar')
environment.config.devServer.before = (app, server) => {
  chokidar.watch([
    'config/locales/**/*.yml',
    'app/views/**/*.html.erb',
    'app/assets/**/*.scss'
  ]).on('change', () => server.sockWrite(server.sockets, 'content-changed'))
}

module.exports = environment.toWebpackConfig()

【问题讨论】:

    标签: ruby-on-rails-5 webpacker react-rails


    【解决方案1】:

    加速webpack-dev-server:

    1. 使用javascript_packs_with_chunks_tag 而不是javascript_pack_tag
    2. environment.splitChunks() 添加到config/webpack/environment.js

    【讨论】:

      【解决方案2】:

      我认为这可能是因为rails-erb-loader 通常在构建时可能需要超过 10 秒。

      尝试安装speed-measure-webpack-plugin,它将帮助您了解每个步骤将执行的操作。

      const environment = require('./environment')
      
      const SpeedMeasurePlugin = require('speed-measure-webpack-plugin')
      const smp = new SpeedMeasurePlugin()
      
      module.exports = smp.wrap(environment.toWebpackConfig())
      
      

      【讨论】:

        猜你喜欢
        • 2016-02-02
        • 2012-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-14
        • 1970-01-01
        • 2018-08-24
        相关资源
        最近更新 更多