2016-11-07 15 views
3

我試圖在我的redux應用程序中添加redux-persist。沒有Uglify的Webpack沒有給出「意想不到的令牌〜」與減少餘數

我正在使用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' 
    ] 

部署到生產之前,我建立使用生產NODE_ENV但跳過醜化插件的步驟,以節省時間「分期」捆綁,因爲我經常重建這個在部署之前捆綁多次。然而,如果我需要redux-persist我的來源的任何地方,建立此捆綁包是成功的,但該頁面無法加載,並且我得到錯誤Unexpected Token ~,我已經追溯到json-stringify-safe依賴redux-persist。在「升級」的配置是這樣的:

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" 

    ] 

這一點,我的生產配置之間的唯一區別是,它不包括醜化,但是當我使用這個配置,一切正常:

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

問題是登臺套餐中的devtool:"source-map"。更改爲"eval",一切正常。