我正在尝试将redux-persist添加到我的redux应用程序中。
我使用webpack捆绑我的javascript,在开发中,redux-persist包按预期工作。我的开发配置(用coffeescript编写)看起来像这样:
debug: true
devtool: "eval"
output:
path: path.resolve 'app/static/bundles/'
filename: '[name].js'
publicPath: "#{devServer}:#{port}/app/static/bundles/"
plugins: [
new webpack.NamedModulesPlugin
new webpack.HotModuleReplacementPlugin
new webpack.NoErrorsPlugin
new BundleTracker filename: './webpack/webpack-stats.json'
]
在部署到生产之前,我建立了一个" staging"捆绑包使用生产NODE_ENV但跳过Uglify插件步骤以节省时间,因为我经常在部署之前多次重建此捆绑包。但是,如果我在源代码中的任何位置需要redux-persist
,那么构建此捆绑包是成功的但页面没有加载,我收到错误Unexpected Token ~
,我已追溯到json-stringify-safe
依赖关系redux-persist
。 "分期" config看起来像这样:
output:
path: path.resolve 'app/static/dist/'
filename: '[name].js'
sourceMapFilename: "[name].map.js"
debug: false
cache: false
devtool: "source-map"
plugins: [
new BundleTracker filename: './webpack/webpack-stats-staging.json'
new webpack.DefinePlugin
'process.env':
'NODE_ENV': JSON.stringify 'production'
new webpack.NamedModulesPlugin
new webpack.optimize.OccurenceOrderPlugin
new ExtractTextPlugin "[name].css"
]
这和我的生产配置之间的唯一区别是它不包括Uglify,但是当我使用这个配置时,一切正常:
output:
path: path.resolve 'app/static/dist/'
filename: '[name].js'
sourceMapFilename: "[name].map.js",
devtool: "source-map"
debug: false
plugins: [
new BundleTracker filename: './webpack/webpack-stats-prod.json'
new webpack.DefinePlugin
'process.env':
'NODE_ENV': JSON.stringify 'production'
new webpack.optimize.OccurenceOrderPlugin
new ExtractTextPlugin "[name].css"
new webpack.optimize.UglifyJsPlugin
sourceMap: false
compressor:
warnings: false
]
答案 0 :(得分:0)
暂存捆绑包中的问题是devtool:"source-map"
。已更改为"eval"
,一切正常。