webpack.config.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const {resolve} = require('path');
  2. const HtmlWebpackPlugin = require('html-webpack-plugin');
  3. module.exports = {
  4. entry : './src/index.js',
  5. output:{
  6. filename: 'built.js',
  7. path: resolve(__dirname,'build')
  8. },
  9. module:{
  10. rules:[
  11. //less
  12. {
  13. test:/\.less$/,
  14. use:['style-loader','css-loader','less-loader']
  15. },
  16. //css
  17. {
  18. test:/\.css$/,
  19. use:['style-loader','css-loader']
  20. },
  21. //图片
  22. {
  23. test: /\.(jpg|jpeg|png|gif)$/,
  24. loader: 'url-loader',
  25. options:{
  26. limit:8*1024,
  27. name:'[hash:10].[ext]',
  28. esModule:false
  29. },
  30. type:'javascript/auto'
  31. },
  32. //html
  33. {
  34. test:/\.html$/,
  35. loader: 'html-loader'
  36. },
  37. //其他
  38. {
  39. exclude:/\.(html|js|css|less|jpg|jpeg|png|gif)$/,
  40. loader:'file-loader',
  41. options:{
  42. name:'[hash:10].[ext]',
  43. esModule:false
  44. },
  45. type:'javascript/auto'
  46. }
  47. ]
  48. },
  49. plugins:[
  50. new HtmlWebpackPlugin({
  51. template:'./src/index.html'
  52. })
  53. ],
  54. mode: 'development',
  55. devServer:{
  56. contentBase:resolve(__dirname,'build'),
  57. compress:true,
  58. port:3000,
  59. open:true
  60. }
  61. }