我正在使用Nodejs进行Web应用程序开发和webpack打包,我的代码在这里:
目录结构为:
main.js
src
- js
- styles
- images
-logo.png
-clients_logo
- client_logo1.png
- client_logo2.png
-----------------------------------
public (Use for output)
- js
- css
- images
webpack.config.js
module.exports = {
entry: './main.js',
output: { path: path.join(__dirname, './public/'), filename: './js/bundle.js' },
module: {
loaders: [
{ test: /\.(jpg|jpeg|gif|png)$/,loader:'url-loader?limit=1024&name=images/[name].[ext]' }
]
}
};
main.js
import './src/images/logo.png';
require.context('./src/images/clients_logo/', true);
当我使用webpack --progress --colors
put put命令编译此代码时:
public
- images
- logo.png
- client_logo1.png
- client_logo2.png
但要求输出的是:
public
- images
- logo.png
- clients_logo
- client_logo1.png
- client_logo2.png
我也在用
{ test: /\.(jpg|jpeg|gif|png)$/,loader:'url-loader?limit=1024&name=[path][name].[ext]?[hash]&context=/path' }
但它的输出是:
public
- images
- src
- images
- logo.png
- clients_logo
- client_logo1.png
- client_logo2.png
因此,任何一个了解此问题并有解决方案的人,请提供。
[path]
是源的相对路径,在您的情况下src/images/logo.png
,其他图像的依此类推。随着context
该[path]
成为相对于这条道路。设置context=src/
会将其更改[path]
为images/logo.png
,这正是您想要的。
因此,您可以将配置更改为:
{
test: /\.(jpg|jpeg|gif|png)$/,
loader: 'url-loader?limit=1024&name=[path][name].[ext]&context=src/'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句