webpack.config.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. var dev = env === 'dev';
  11. if (!dev) {
  12. plugins.push(
  13. new webpack.optimize.UglifyJsPlugin({
  14. sourceMap: true
  15. })
  16. );
  17. }
  18. module.exports = {
  19. entry: './src/' + libraryName + '.js',
  20. output: {
  21. path: BUILD_PATH,
  22. filename: libraryName + '.min.js',
  23. library: libraryName,
  24. libraryTarget: 'umd',
  25. umdNamedDefine: true
  26. },
  27. devtool: dev ? 'eval-source-map' : 'source-map',
  28. devServer: {
  29. publicPath: "/dist/",
  30. },
  31. module: {
  32. rules: [
  33. {
  34. test: /\.js$/,
  35. loader: 'babel-loader',
  36. include: APP_PATH,
  37. options: {
  38. presets: ['es2015']
  39. }
  40. },
  41. {
  42. test: /\.scss$/,
  43. use: [
  44. 'style-loader',
  45. 'css-loader',
  46. 'postcss-loader',
  47. 'sass-loader'
  48. ],
  49. include: APP_PATH
  50. },
  51. {
  52. test: /\.(png|jpg)$/,
  53. loader: 'url-loader?limit=40000'
  54. }
  55. ].concat(dev ? [] : [
  56. {
  57. test: /\.js$/,
  58. loader: 'strip-loader?strip[]=console.log',
  59. enforce: 'pre',
  60. include: APP_PATH,
  61. }
  62. ])
  63. },
  64. plugins: plugins
  65. };