webpack.plugin.config.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. var path = require('path');
  2. var webpack = require('webpack');
  3. var UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin');
  4. var ManifestPlugin = require('webpack-manifest-plugin');
  5. var config = {
  6. entry: {
  7. plugin: './resource/js/plugin.js',
  8. },
  9. output: {
  10. path: path.join(__dirname + "/public/js"),
  11. filename: "[name].[hash].js"
  12. },
  13. resolve: {
  14. modules: [
  15. './node_modules', './plugin/node_modules',
  16. ],
  17. },
  18. module: {
  19. loaders: [
  20. {
  21. test: /.jsx?$/,
  22. exclude: /node_modules/,
  23. use: [{
  24. loader: 'babel-loader',
  25. }]
  26. }
  27. ]
  28. },
  29. plugins: []
  30. };
  31. if (process.env && process.env.NODE_ENV !== 'development') {
  32. config.plugins = [
  33. new webpack.DefinePlugin({
  34. 'process.env':{
  35. 'NODE_ENV': JSON.stringify('production')
  36. }
  37. }),
  38. new UglifyJsPlugin({
  39. compress:{
  40. warnings: false
  41. }
  42. }),
  43. ];
  44. }
  45. config.plugins.push(new ManifestPlugin({
  46. fileName: 'manifest-plugin.json'
  47. }));
  48. module.exports = config;