资源

资源类型type

  • asset/resource发送一个单独的文件并导出 URL
  • asset/inline导出一个资源的 Data URL
  • asset/source导出资源的源代码
  • asset导出一个 Data URL 和单独发送一个文件之间自动选择

文件:webpack.config.js

  1. module.exports = {
  2. output: {
  3. // 优先 module 的 generator 然后 assetModuleFilename
  4. assetModuleFilename: 'images/[contenthash][ext]',
  5. },
  6. // 资源模块
  7. module: {
  8. // 规则
  9. rules: [
  10. {
  11. test: /\.png$/, // 什么类型的文件(正则表达式)
  12. type: 'asset',
  13. // 文件存储位置和文件名称
  14. generator: {
  15. /*
  16. * [contenthash]: 生成的 hash 值
  17. * [ext]: 原本的后缀名
  18. */
  19. filename: 'images/[contenthash][ext]',
  20. },
  21. // 分析 asset
  22. parser: {
  23. // 生成 Data URL 的条件
  24. dataUrlCondition: {
  25. maxSize: 4 * 1024 * 1024, // 文件最大值,默认:4 * 1024
  26. },
  27. },
  28. },
  29. ],
  30. },
  31. }
  1. import imgsrc from '资源图片路径'
  2. const img = document.createElement('img')
  3. img.src = imgsrc
  4. document.body.appendChild(img)