webpack.config.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const { resolve } = require("path");
  2. //html资源处理
  3. const HtmlWebpackPlugin = require('html-webpack-plugin')
  4. //设置node环境变量 postcss-loader会根据它读取package.js里的browserslist配置
  5. process.env.NODE_ENV = 'development'
  6. /**
  7. * 1、通过多入口 + optimization配置
  8. * 2、通过单入口 + optimization配置
  9. * 3、通过js代码,让某个文件被单独打包成一个chunk 示例在 ./src/js/index.js
  10. */
  11. module.exports = {
  12. entry: {
  13. // 多入口
  14. index: './src/js/index.js',
  15. test: './src/js/test.js'
  16. },
  17. output: {
  18. // name取文件名
  19. filename: 'js/[name].[contenthash:10].js',
  20. path: resolve(__dirname, 'build')
  21. },
  22. plugins:[
  23. new HtmlWebpackPlugin({
  24. template: './src/index.html',
  25. minify:{
  26. collapseWhitespace:true,
  27. removeComments:true
  28. }
  29. })
  30. ],
  31. // 可以将node_modules 中代码单独打包一个chunk最终输出
  32. // 自动分析多入口chunk中,是否有公共文件,公共文件会单独打包。
  33. optimization:{
  34. splitChunks:{
  35. chunks:'all'
  36. }
  37. },
  38. mode:'production'
  39. }