dev.config.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. resolve: {
  15. alias: {
  16. '@': path.resolve(__dirname, '../src'),
  17. }
  18. },
  19. module: {
  20. rules: [
  21. {
  22. test: /\.js$/,
  23. use: 'babel-loader',
  24. exclude: '/node_modules/',
  25. },
  26. {
  27. test: /\.css$/,
  28. use: ['style-loader', 'css-loader'],
  29. },
  30. {
  31. test: /\.less$/,
  32. exclude: /\.module\.less$/,
  33. loader: [
  34. 'style-loader',
  35. 'css-loader',
  36. // 'css-loader?modules',
  37. 'less-loader'
  38. ]
  39. },
  40. {
  41. test: /\.module\.less$/,
  42. loader: [
  43. 'style-loader',
  44. // 'css-loader',
  45. {
  46. loader: 'css-loader',
  47. options: {
  48. modules: {
  49. localIdentName: '[local]_[hash:base64:5]',
  50. }
  51. }
  52. },
  53. // 'css-loader?modules',
  54. 'less-loader'
  55. ]
  56. },
  57. {
  58. test: /\.(mp3|mp4)$/,
  59. loader: 'url-loader',
  60. options: {
  61. name: '[name].[ext]',
  62. },
  63. },
  64. ],
  65. },
  66. devServer: {
  67. contentBase: './dist',
  68. },
  69. plugins: [
  70. new htmlWebpackPlugin({
  71. template: 'public/index.html',
  72. }),
  73. ],
  74. };