Webpack没有Uglify给出"意外的令牌〜"使用redux-persist

时间:2016-11-07 16:33:03

标签: webpack redux uglifyjs

我正在尝试将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


    ]

1 个答案:

答案 0 :(得分:0)

暂存捆绑包中的问题是devtool:"source-map"。已更改为"eval",一切正常。