【发布时间】:2019-11-26 05:08:08
【问题描述】:
我正在使用 Webpack 来捆绑我的 Aurelia 应用程序。我编写了一个自定义属性,它为我应用它的任何元素提供视差效果。它真的很好用。我不确定如何让 Webpack 检测我的标记中的图像引用并捆绑引用的图像。
<div id="hero" scroll-parallax="image-extend: 50; image-file-height: 2688; image-file-width: 4000; image-source: ../media/hero.jpg; background-position: center top;">
图像在 Aurelia 生命周期中作为子元素 <img> 插入到 DOM 中,例如 createElement('img') 和 img.src = this.imageSource。
我使用html-loader.attrs 进行了探索,但在我最初的测试中,它尝试使用整个属性值,而不是解析图像值的属性。
我还尝试在使用 CustomAttribute 的视图模型中使用 require 语句,虽然图像确实被添加到包中,但标记中对图像的真正引用并没有像它那样正确替换如果是标准的<img src="">。
我还探索了如何更改 src 在 CustomAttribute 中的设置方式以使用 requires(this.imageSource)。这会导致 Webpack 对“关键依赖项”发出警告(因为依赖项在理论上是动态的)并且图像没有被捆绑。
我意识到我可以配置复制文件插件来复制我需要的图像,但我希望加载器检测上面的image-source,捆绑图像(通过url-loader 或file-loader)并将引用替换为标准src。有没有办法通过组合内置加载器来实现这一点,或者是否需要一个或多个自定义加载器?还是我应该探索以更“友好”的方式包含图像资源?
【问题讨论】:
标签: javascript html webpack aurelia