html-inject-config-plugin.js 779 B

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. *在html文件注入配置文件
  3. *
  4. * <pre>
  5. * 作者:hugh zhuang
  6. * 邮箱:3378340995@qq.com
  7. * 日期:2020年8月7日 11:07:39
  8. * 版权:广州流辰信息技术有限公司
  9. * </pre>
  10. * @example
  11. * new HtmlInjectConfig()
  12. */
  13. /**
  14. * @class
  15. */
  16. class HtmlInjectConfigPlugin {
  17. /**
  18. * 构造函数
  19. */
  20. constructor(baseUrl = '') {
  21. this.files = [baseUrl + 'config.js?t=' + (new Date().getTime())]
  22. }
  23. apply(compiler) {
  24. compiler.hooks.compilation.tap('HtmlInjectConfigPlugin', compilation => {
  25. compilation.hooks.htmlWebpackPluginBeforeHtmlProcessing.tapAsync('HtmlInjectConfig', (data, callback) => {
  26. data.assets.js = this.files.concat(data.assets.js)
  27. callback(null, data)
  28. })
  29. })
  30. }
  31. }
  32. module.exports = HtmlInjectConfigPlugin