我正在开发一个角度应用程序,它需要将html
个文件作为纯HTML文件提取,同时应检查是否需要这些图像(作为资源)<img src="...">
。此外,图像基于根路径(所以/images/something.png
),它们需要相对于webpack context
设置(基本路径)进行解析。
我怎样才能做到这一点?无法让html-loader与文件加载器很好地协同工作。由于前者输出一个JS文件(带有require
语句),后者需要一个普通的HTML文件。
答案 0 :(得分:8)
我自己通过挖掘有问题的加载器的源代码找到了解决方案。
基本上,它默认不起作用,因为file-loader需要一个“原始”文件,所以如果你想输出一个HTML文件,你需要有html源代码,而不是JS代码。但是,html-loader接受一个HTML文件并输出一个JS文件(带有require
资产和内容)。
解决方案是深度隐藏和奇妙的extract-loader解析来自html-loader的JS,将其转换回普通html,资产仍然需要和替换为< strong> with hash for cachebusting 。
这很完美,你将输出传递给文件加载器,你终于得到了你的html文件!
配置示例
就我而言,我的加载程序配置如下:
'file-loader!extract-loader!html-loader' + '?root=' + encodeURIComponent(sourcePath.toString())