2016-11-07 5 views
3

Я пытаюсь добавить redux-persist в мое приложение redux.Webpack без Uglify, дающий «Неожиданный токен ~» с redux-persist

Я использую 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" и все работает.

Смежные вопросы