webpack.config.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var webpack = require('webpack');
  2. var path = require('path');
  3. var autoprefixer = require('autoprefixer');
  4. var libraryName = 'DPlayer';
  5. var env = process.env.WEBPACK_ENV;
  6. var ROOT_PATH = path.resolve(__dirname);
  7. var APP_PATH = path.resolve(ROOT_PATH, 'src');
  8. var BUILD_PATH = path.resolve(ROOT_PATH, 'dist');
  9. var plugins = [];
  10. if (env !== 'dev') {
  11. plugins.push(
  12. new webpack.optimize.UglifyJsPlugin({
  13. compress: {
  14. warnings: false
  15. },
  16. minimize: true
  17. })
  18. );
  19. }
  20. module.exports = {
  21. entry: './src/' + libraryName + '.js',
  22. output: {
  23. path: BUILD_PATH,
  24. filename: libraryName + '.min.js',
  25. library: libraryName,
  26. libraryTarget: 'umd',
  27. umdNamedDefine: true
  28. },
  29. devtool: 'source-map',
  30. devServer: {
  31. publicPath: "/dist/",
  32. },
  33. module: {
  34. loaders: [
  35. {
  36. test: /\.js$/,
  37. loader: 'babel',
  38. include: APP_PATH,
  39. query: {
  40. presets: ['es2015']
  41. }
  42. },
  43. {
  44. test: /\.scss$/,
  45. loaders: ['style', 'css', 'postcss', 'sass'],
  46. include: APP_PATH
  47. },
  48. {
  49. test: /\.(png|jpg)$/,
  50. loader: 'url?limit=40000'
  51. }
  52. ]
  53. },
  54. plugins: plugins,
  55. postcss: [
  56. autoprefixer({
  57. browsers: ['last 15 versions', '> 1%', 'ie 8', 'ie 7']
  58. })
  59. ]
  60. };