webpack.config.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  2. module.exports = {
  3. entry: {
  4. 'pickr.es5.min': './src/js/pickr.js',
  5. 'themes/classic.min': './src/scss/themes/classic.scss',
  6. 'themes/nano.min': './src/scss/themes/nano.scss',
  7. 'themes/monolith.min': './src/scss/themes/monolith.scss'
  8. },
  9. output: {
  10. publicPath: 'dist',
  11. filename: '[name].js',
  12. library: 'Pickr',
  13. libraryExport: 'default',
  14. libraryTarget: 'umd'
  15. },
  16. devServer: {
  17. contentBase: `${__dirname}/`,
  18. disableHostCheck: true,
  19. host: '0.0.0.0',
  20. port: 3005
  21. },
  22. module: {
  23. rules: [
  24. {
  25. test: /\.js$/,
  26. use: 'babel-loader'
  27. },
  28. {
  29. test: /\.scss$/,
  30. use: [
  31. {
  32. loader: MiniCssExtractPlugin.loader,
  33. options: {
  34. hmr: true,
  35. reloadAll: true
  36. },
  37. },
  38. 'css-loader',
  39. 'sass-loader'
  40. ]
  41. }
  42. ]
  43. },
  44. plugins: [
  45. new MiniCssExtractPlugin({
  46. filename: '[name].css'
  47. })
  48. ]
  49. };