ruby-on-rails - rails webpack 编译在生产中挂起 78% [0] 块资产优化 TerserPlugin
问题描述
我正在将 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 webpack 以使用 Babel Minify 而不是 Terser。
任何帮助更改 Rails 以使用Babel Minify 插件将不胜感激。
解决方案
您需要更改要使用 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
如果您想尝试禁用链接文章在选项 3 中指出的那样,您的配置文件应类似于collapse_vars
:
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
推荐阅读
- html - 背景图片未覆盖整个页面
- laravel - 从数据库中设置 laravel 中的选定选项
- javascript - Javascript 背景颜色更改(奇怪的错误)
- mysql - MySQL - 如何在使用许多过滤器进行查询时保持可接受的响应时间(我应该使用 Redis 吗?)
- java - 为什么我在尝试显示特定学生的详细信息时会得到“null”?
- android - 如何强制日历与 ContentObserver 同步?
- java - 如何使用 Java 中的 Base64 对未实现 Serializable 接口的对象进行编码?
- flutter - 解释一些关于在颤动中移动文本的代码
- google-maps - 颤振:谷歌地图状态错误(坏状态:未来已经完成)
- python - Python > Selenium + CSV:Webdriver 读取,访问 .csv 文件中的所有链接