ruby-on-rails-5 - webpack-dev-server 在 Rails 应用程序中编译非常慢
问题描述
当我跑
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()
解决方案
加快速度webpack-dev-server
:
- 使用
javascript_packs_with_chunks_tag
而不是javascript_pack_tag
- 添加
environment.splitChunks()
到config/webpack/environment.js
推荐阅读
- javascript - 如何在 React 中每 4 位数字后创建自动空格
- django - Django 模型引用具有子属性的多个外键
- php - 产品类别中按字母顺序排列的 woocommerce 分页
- javascript - 聚焦时如何更改边框宽度
- powershell - PowerShell 使用 Get-Member 列出继承的方法
- python - 如何用小数点分割参数
- python-3.x -
如何通过管道安装 djangorestframework - database - 如何使用 Firebase 数据库规则防止节点被删除?
- c# - 更改 3DS 模型的颜色和透明度
- python - 查找多个图像的平均值