dev.config.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. const path = require('path');
  2. const htmlWebpackPlugin = require('html-webpack-plugin');
  3. module.exports = {
  4. mode: 'development',
  5. entry: './src/app.js',
  6. output: {
  7. filename: 'bundle.js',
  8. path: path.resolve(__dirname, '../dist'),
  9. },
  10. node: {
  11. fs: 'empty',
  12. child_process: 'empty',
  13. },
  14. module: {
  15. rules: [
  16. {
  17. test: /\.js$/,
  18. use: 'babel-loader',
  19. exclude: '/node_modules/',
  20. },
  21. {
  22. test: /\.css$/,
  23. use: ['style-loader', 'css-loader'],
  24. },
  25. {
  26. test: /\.s[ac]ss$/i,
  27. use: [
  28. // Creates `style` nodes from JS strings
  29. 'style-loader',
  30. // Translates CSS into CommonJS
  31. 'css-loader',
  32. // Compiles Sass to CSS
  33. 'sass-loader',
  34. ],
  35. },
  36. {
  37. test: /\.less$/,
  38. exclude: /\.module\.less$/,
  39. loader: [
  40. 'style-loader',
  41. 'css-loader',
  42. // 'css-loader?modules',
  43. 'less-loader'
  44. ]
  45. },
  46. {
  47. test: /\.module\.less$/,
  48. loader: [
  49. 'style-loader',
  50. // 'css-loader',
  51. {
  52. loader: 'css-loader',
  53. options: {
  54. modules: {
  55. localIdentName: '[local]_[hash:base64:5]',
  56. }
  57. }
  58. },
  59. // 'css-loader?modules',
  60. 'less-loader'
  61. ]
  62. },
  63. {
  64. test: /\.(mp3|mp4)$/,
  65. loader: 'url-loader',
  66. options: {
  67. name: '[name].[ext]',
  68. },
  69. },
  70. ],
  71. },
  72. devServer: {
  73. contentBase: './dist',
  74. },
  75. plugins: [
  76. new htmlWebpackPlugin({
  77. template: 'public/index.html',
  78. }),
  79. ],
  80. };