2016-10-12 4 views
0

У меня есть мои изображения в /assets/images, а мой код - /src.Webpack разрешает изображения в определенном каталоге

Для ссылки на изображения из /src, я должен сделать это в настоящее время:

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

Есть ли способ, что я могу упростить это так, что мне не нужно указать путь к изображению? Потенциально просто требуется image!some-image.png?

ответ

0

мне удалось добиться этого с помощью resolve.alias:

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

можно затем использовать require("~images/test.jpg");, чтобы заставить меня ./assets/images/test.jpg.

0

Вы можете установить переменную с указанием пути и ссылки.

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

или строк шаблона ES6

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

Обе из них по-прежнему требуют, чтобы я поместил путь изображения в оператор require в той или иной форме. Я хотел бы просто потребовать его аналогичным образом: «Я хочу, чтобы изображение называлось так», –