我正在和webpack一起使用Rails5,试图为生产进行编译,因为资产在生产中没有显示出来。
如果我尝试NODE_ENV=production rake webpacker:compile,那么它在Compiling...挂起。
在阅读了Compiling in production fails silently and isn't verbose enough之后,我尝试了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 plugin的人都将不胜感激。
发布于 2019-05-20 08:18:47
你需要在你想要使用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()这里假设您在package.json文件中添加了babel-minify-webpack-plugin作为依赖项。
如果您想要像选项3中的linked article所指出的那样禁用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()这里假设您在package.json文件中添加了uglifyjs-webpack-plugin作为依赖项。
发布于 2019-10-25 11:43:32
我也遇到了erb-loader的问题。在此comment中找到了解决方案。erb加载器和弹簧的相互作用存在一些问题,导致冻结。要修复它,只需添加
env: {
...process.env,
DISABLE_SPRING: 1,
}到erb-loader config( config /webpack/loaders/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',
env: {
...process.env,
DISABLE_SPRING: 1,
},
}
}]
}发布于 2019-05-20 23:29:07
我想我可能遇到了一个类似的问题,Compiling never completes Rails 5.2, ERB and compile: true。我从我的项目中删除了erb加载器,RAILS_ENV=production rake assets:precompile完成。我也不再收到关于块大小的警告。
https://stackoverflow.com/questions/56139649
复制相似问题