我正在使用webpacker gem 将应用程序从 rails 3.2 升级到 rails 4.2 在本地主机中一切正常我已经编译了我的资产并运行
RAILS_ENV=生产轨道 s
但是当我推送到heroku时出现错误它编译所有资产甚至包但在js中产生错误,我在应用程序的许多部分使用角度并且错误与依赖注入有关
我正在使用webpacker gem 将应用程序从 rails 3.2 升级到 rails 4.2 在本地主机中一切正常我已经编译了我的资产并运行
RAILS_ENV=生产轨道 s
但是当我推送到heroku时出现错误它编译所有资产甚至包但在js中产生错误,我在应用程序的许多部分使用角度并且错误与依赖注入有关
这里的主要问题是我不得不评论 uglifier 的 unglifier gem
#config.assets.js_compressor = :uglifier
下一部分是生产中webpack的配置,如下所示:
const webpack = require('webpack')
const { basename, dirname, join, relative, resolve } = require('path')
const merge = require('webpack-merge')
const CompressionPlugin = require('compression-webpack-plugin')
const sharedConfig = require('./shared.js')
const { env, settings, output, loadersDir } = require('./configuration.js')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const ManifestPlugin = require('webpack-manifest-plugin')
module.exports = merge(sharedConfig, {
output: { filename: '[name]-[chunkhash].js' },
devtool: false,//'source-map',
stats: 'normal',
plugins: [
new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(env))),
new ExtractTextPlugin({
filename: '[name]-[hash].css',
allChunks: true
}),
new ManifestPlugin({
publicPath: output.publicPath,
writeToFileEmit: true
})
],
resolve: {
extensions: settings.extensions,
modules: [
resolve(settings.source_path),
'node_modules'
],
alias: {
'vue$': 'vue/dist/vue.esm.js' // 'vue/dist/vue.common.js' for webpack 1
}
},
resolveLoader: {
modules: ['node_modules']
}
})
现在我可以部署并且资产正在运行。