webpack.prod.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. const webpack = require('webpack')
  2. const merge = require('webpack-merge')
  3. const CleanWebpackPlugin = require('clean-webpack-plugin')
  4. const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
  5. const ExtractTextPlugin = require('extract-text-webpack-plugin')
  6. const OfflinePlugin = require('offline-plugin')
  7. const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin')
  8. const common = require('./webpack.common.js')
  9. console.info(process.cwd())
  10. module.exports = merge(common, {
  11. module: {
  12. rules: []
  13. },
  14. plugins: [
  15. new CleanWebpackPlugin(['assets'], { root: process.cwd() }),
  16. new UglifyJSPlugin(),
  17. new webpack.DefinePlugin({
  18. 'process.env.NODE_ENV': JSON.stringify('production')
  19. }),
  20. new ExtractTextPlugin('css/bundle.css'),
  21. new OfflinePlugin({
  22. caches: {
  23. main: [
  24. 'js/runtime.js',
  25. 'js/vendor.js',
  26. 'js/client.js'
  27. ],
  28. additional: [':externals:'],
  29. optional: ['*.chunk.js']
  30. }
  31. }),
  32. new DuplicatePackageCheckerPlugin()
  33. ]
  34. })