webpack.config.js 850 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const path = require('path');
  2. const HtmlWebpackPlugin = require('html-webpack-plugin');
  3. const CleanWebpackPlugin = require('clean-webpack-plugin');
  4. const webpack = require('webpack');
  5. module.exports = {
  6. mode: 'development',
  7. entry: {
  8. app: './src/index.js'
  9. },
  10. output: {
  11. filename: 'main.js',
  12. path: path.resolve(__dirname, 'dist')
  13. },
  14. module: {
  15. rules: [
  16. {
  17. test: /\.m?js$/,
  18. exclude: /(node_modules|bower_components)/,
  19. use: {
  20. loader: 'babel-loader',
  21. options: {
  22. presets: ['@babel/preset-env']
  23. }
  24. }
  25. }
  26. ]
  27. },
  28. devServer: {
  29. contentBase: './dist',
  30. hot: true
  31. },
  32. plugins: [
  33. new CleanWebpackPlugin(),
  34. new HtmlWebpackPlugin({
  35. title: 'ES6+Babel+模块热替换'
  36. }),
  37. new webpack.HotModuleReplacementPlugin()
  38. ]
  39. };