Компиляция рельсовых веб-пакетов зависает на производстве при 78% [0] оптимизации ресурсов чанка TerserPlugin - PullRequest
0 голосов
/ 15 мая 2019

Я использую Rails 5 с webpack, пытаюсь скомпилировать для производства, потому что ресурсы не отображаются в производстве.

Если я попытаюсь NODE_ENV=production rake webpacker:compile, то он зависнет на Compiling....

После прочтения Компиляция в производственном процессе завершается сбоем и не достаточно многословна , я попытался NODE_ENV=production bin/webpack --progress --config config/webpack/production.js. Он висел в 78% [0] chunk asset optimization TerserPlugin

Я прочитал это https://fontawesome.com/how-to-use/with-the-api/other/tree-shaking#issues,, но я не уверен, как переключить веб-пакет Rails для использования Babel Minify вместо Terser.

Любая помощь в изменении Rails для использования плагина Babel Minify будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Вам необходимо внести изменения в среду, в которой вы хотите использовать Babel Minify.

Если это для производственной среды, ваш config/webpack/production.js должен выглядеть примерно так:

process.env.NODE_ENV = process.env.NODE_ENV || 'production'
const environment = require('./environment')
const BabelMinifyPlugin = require('babel-minify-webpack-plugin')

environment.config.optimization.minimizer = [ new BabelMinifyPlugin() ]

module.exports = environment.toWebpackConfig()

Предполагается, что вы добавили babel-minify-webpack-plugin в качестве зависимости в файл package.json.

Если вы хотите попробовать отключить collapse_vars, как в связанной статье , указывает на вариант 3, ваш файл конфигурации должен выглядеть примерно так:

process.env.NODE_ENV = process.env.NODE_ENV || 'production'
const environment = require('./environment')
const UglifyJSPlugin = require("uglifyjs-webpack-plugin")

environment.config.optimization.minimizer = [
  new UglifyJSPlugin({
    uglifyOptions: {
      collapse_vars: false
    }
  })
]

module.exports = environment.toWebpackConfig()

Предполагается, что вы добавили uglifyjs-webpack-plugin в качестве зависимости в файл package.json.

0 голосов
/ 20 мая 2019

Я думаю, что я мог столкнуться с проблемой, подобной этой, Компиляция никогда не завершает Rails 5.2, ERB и компиляция: true .Я удалил загрузчик erb из моего проекта и RAILS_ENV=production rake assets:precompile завершил.Я также больше не получаю предупреждения о размере чанка.

...