2016-11-28 77 views
0

我试图创建一个我的代码的生产版本,并做了一个webpack.production.config.js文件。当我运行'webpack -p'时,我的bundle.js文件大小减小了,但是我的bundle.js.map文件大小增加了。下面是代码和相应的输出:生产webpack增加bundle.js.map的大小

webpack.config.js:

const path = require("path"); //eslint-disable-line 
const webpack = require('webpack'); 


module.exports = { 
    context: __dirname, 
    entry: "./frontend/index.jsx", 
    output: { 
    path: path.join(__dirname, 'assets', 'build'), 
    filename: "bundle.js", 
    devtoolModuleFilenameTemplate: '[resourcePath]', 
    devtoolFallbackModuleFilenameTemplate: '[resourcePath]?[hash]' 
    }, 
    externals: { 
    'cheerio': 'window', 
    'react/lib/ExecutionEnvironment': true, 
    'react/lib/ReactContext': true 
    }, 
    module: { 
    loaders: [ 
     { 
     test: [/\.jsx?$/, /\.js?$/], 
     exclude: /(node_modules|bower_components)/, 
     loader: 'babel', 
     query: { 
      presets: ['es2015', 'react'] 
     } 
     }, 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'eslint-loader' 
     } 
    ] 
    }, 
    devtool: 'source-map', 
    eslint: { 
    configFile: './.eslintrc' 
    }, 
    resolve: { 
    extensions: ["", ".js", ".jsx" ] 
    }, 
    watchOptions: { 
    aggregateTimeout: 500, 
    poll: 2000, 
    ignored: /node_modules/ 
} 
}; 



11:22 $ webpack 
Hash: 3eaf0c4ed8964deb6866 
Version: webpack 1.13.3 
Time: 5805ms 
     Asset  Size Chunks    Chunk Names 
    bundle.js 2.16 MB  0 [emitted] main 
bundle.js.map 2.53 MB  0 [emitted] main 
    + 484 hidden modules 

webpack.production.config.js:

const path = require("path"); //eslint-disable-line 
const webpack = require('webpack'); 


module.exports = { 
    context: __dirname, 
    entry: "./frontend/index.jsx", 
    output: { 
    path: path.join(__dirname, 'assets', 'build'), 
    filename: "bundle.js", 
    devtoolModuleFilenameTemplate: '[resourcePath]', 
    devtoolFallbackModuleFilenameTemplate: '[resourcePath]?[hash]' 
    }, 
    externals: { 
    'cheerio': 'window', 
    'react/lib/ExecutionEnvironment': true, 
    'react/lib/ReactContext': true 
    }, 
    module: { 
    loaders: [ 
     { 
     test: [/\.jsx?$/, /\.js?$/], 
     exclude: /(node_modules|bower_components)/, 
     loader: 'babel', 
     query: { 
      presets: ['es2015', 'react'] 
     } 
     }, 
     { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'eslint-loader' 
     } 
    ] 
    }, 
    plugins: [ 
    new webpack.DefinePlugin({ 
     'process.env': { 
     'NODE_ENV': JSON.stringify('production') 
     } 
    }), 
    new webpack.optimize.UglifyJsPlugin({ 
     compress: { 
     warnings: true 
     } 
    }) 
    ], 
    devtool: 'cheap-module-source-map', 
    resolve: { 
    extensions: ["", ".js", ".jsx" ] 
    } 
}; 


11:19 $ webpack -p 
Hash: c40d4a49c049e8b5a525 
Version: webpack 1.13.3 
Time: 20990ms 
     Asset  Size Chunks    Chunk Names 
    bundle.js 805 kB  0 [emitted] main 
bundle.js.map 5.55 MB  0 [emitted] main 
    + 484 hidden modules 

任何想法,为什么bundle.js.map增加,因此显着,如果这是一个问题?我还从Uglify.js那里得到了一些我被告知要忽略的警告。

谢谢。

回答