Webpack 解析特定目录中的图像
Webpack resolve images in certain directory
我的图片在 /assets/images
,我的代码在 /src
。
要引用来自 /src
的图像,我目前必须这样做:
require("../assets/images/some-image.png");
有什么方法可以简化这个,这样我就不需要指定图像路径了吗?可能只需要 image!some-image.png
?
您可以设置一个带有路径的变量并引用它。
var imagePath = '../assets/images/';
require(imagePath + 'some-image.png');
或使用 ES6 模板字符串
const imagePath = '../assets/images/';
require(`#{imagePath}some-image.png`);
我通过使用 resolve.alias
:
设法实现了这一点
resolve: {
alias:{
"~images": path.resolve("./assets/images")
},
extensions: [ '', '.js', '.jpg' ]
}
然后我可以使用 require("~images/test.jpg");
得到我 ./assets/images/test.jpg
。
我的图片在 /assets/images
,我的代码在 /src
。
要引用来自 /src
的图像,我目前必须这样做:
require("../assets/images/some-image.png");
有什么方法可以简化这个,这样我就不需要指定图像路径了吗?可能只需要 image!some-image.png
?
您可以设置一个带有路径的变量并引用它。
var imagePath = '../assets/images/';
require(imagePath + 'some-image.png');
或使用 ES6 模板字符串
const imagePath = '../assets/images/';
require(`#{imagePath}some-image.png`);
我通过使用 resolve.alias
:
resolve: {
alias:{
"~images": path.resolve("./assets/images")
},
extensions: [ '', '.js', '.jpg' ]
}
然后我可以使用 require("~images/test.jpg");
得到我 ./assets/images/test.jpg
。