webpack.config.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. const polyfill = []
  2. const umd = {
  3. entry: polyfill.concat(['./src/index.js']),
  4. devtool: 'source-map',
  5. output: {
  6. path: `${__dirname}/dist`,
  7. filename: 'index.js',
  8. library: 'danmu.js',
  9. libraryTarget: 'umd'
  10. },
  11. mode: 'production',
  12. module: {
  13. rules: [{
  14. test: /\.js$/,
  15. loader: 'babel-loader',
  16. exclude: /node_modules/
  17. }, {
  18. test: /\.scss$/,
  19. use: [
  20. 'style-loader',
  21. {
  22. loader: 'css-loader',
  23. options: {
  24. importLoaders: 1,
  25. minimize: true
  26. }
  27. },
  28. 'postcss-loader',
  29. 'sass-loader'
  30. ]
  31. }]
  32. },
  33. optimization: {
  34. minimize: true
  35. }
  36. }
  37. const client = {
  38. entry: polyfill.concat(['./src/index.js']),
  39. devtool: 'source-map',
  40. output: {
  41. path: `${__dirname}/browser`,
  42. filename: 'index.js',
  43. library: 'DanmuJs',
  44. libraryTarget: 'window'
  45. },
  46. module: {
  47. rules: [{
  48. test: /\.js$/,
  49. loader: 'babel-loader',
  50. exclude: /node_modules/
  51. }, {
  52. test: /\.scss$/,
  53. use: [
  54. 'style-loader',
  55. {
  56. loader: 'css-loader',
  57. options: {
  58. importLoaders: 1,
  59. minimize: true
  60. }
  61. },
  62. 'postcss-loader',
  63. 'sass-loader'
  64. ]
  65. }]
  66. },
  67. mode: 'production',
  68. optimization: {
  69. minimize: true
  70. }
  71. }
  72. module.exports = [umd, client]