简体   繁体   English

Webpack解析特定目录中的图像

[英]Webpack resolve images in certain directory

I have my images in /assets/images , and my code in /src . 我的图像在/assets/images ,代码在/src

To reference the images from /src , I have to currently do this: 要从/src引用图像,我目前必须这样做:

require("../assets/images/some-image.png");

Is there a way that I can simplify this so that I don't need to specify the image path? 有没有一种方法可以简化此过程,而无需指定图像路径? Potentially just requiring image!some-image.png ? 可能只需要image!some-image.png吗?

You could set a variable with the path and reference that. 您可以使用路径设置变量并引用该变量。

var imagePath = '../assets/images/';
require(imagePath + 'some-image.png');

or with ES6 template strings 或带有ES6模板字符串

const imagePath = '../assets/images/';
require(`#{imagePath}some-image.png`);

I managed to achieve this by using resolve.alias : 我设法通过使用resolve.alias实现此目的:

resolve: {
    alias:{
        "~images": path.resolve("./assets/images")
    },
    extensions: [ '', '.js', '.jpg' ]
}

I can then use require("~images/test.jpg"); 然后,我可以使用require("~images/test.jpg"); to get me ./assets/images/test.jpg . 让我./assets/images/test.jpg

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM