webpack.config.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const path = require('path');
  2. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  3. const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
  4. module.exports = {
  5. mode: 'production',
  6. resolve: {
  7. alias: {
  8. 'webdav-js': path.resolve(__dirname)
  9. }
  10. },
  11. entry: [
  12. 'babel-polyfill',
  13. path.resolve(__dirname, 'src/webdav.js')
  14. ],
  15. output: {
  16. filename: 'webdav-min.js',
  17. path: path.resolve(__dirname, 'src')
  18. },
  19. plugins: [
  20. new MiniCssExtractPlugin({
  21. filename: '../assets/css/style-min.css'
  22. }),
  23. new OptimizeCssAssetsPlugin()
  24. ],
  25. module: {
  26. rules: [
  27. {
  28. test: /\.js$/,
  29. loader: 'babel-loader'
  30. },
  31. {
  32. test: /\.css$/,
  33. use: [
  34. { loader: MiniCssExtractPlugin.loader },
  35. 'css-loader'
  36. ]
  37. },
  38. {
  39. test: /\.scss$/,
  40. use: [
  41. { loader: MiniCssExtractPlugin.loader },
  42. 'css-loader',
  43. {
  44. loader: 'sass-loader',
  45. options: {
  46. sassOptions: {
  47. outputStyle: 'expanded'
  48. }
  49. }
  50. }
  51. ]
  52. }
  53. ]
  54. }
  55. };