使用 Webpack 提供静态图像
Serving static images with Webpack
我在使用 webpack 时遇到问题,无法在 webpack 开发服务器上响应提供静态图像。
这是我当前的文件夹结构
如您所见,我有一个资产文件夹 包含我所有的图像
这是我的 webpack 入口和输出配置
客户端条目是我的反应项目的来源
CLIENT_ENTRY: path.join(process.cwd(), 'src/client/index.jsx')
现在这是我在 BASH 中的输出,当 webpack 完成它的部分时
这里是我尝试从项目根目录中的资产文件夹加载图像的地方
预期只有导入工作 。
我尝试像在 webpack 中那样更改输出和 public 路径
路径:path.resolve(__dirname, 'dist'),
public路径:'/',
路径:path.resolve(__dirname, 'dist/assets'),
public路径:'/资产/',
路径:path.resolve(__dirname, 'dist'),
public路径:'/资产',
路径:path.resolve(__dirname, 'dist'),
public路径:'/资产/',
等..等..
如果有人能帮助我那就太好了
要遵循 webpack 背后的理念,您需要处理从源到目标的资产。
因此,将您的图像添加到源中的相对路径(您的条目所在的位置,基本上)并为图像添加一个加载器(也许其他事情) 是这样的:
{
test: /\.(woff2?|jpe?g|png|gif|ico)$/,
use: 'file-loader?name=./assets/images/[name].[ext]'
}
只需将输出的相对路径更新为 assets/images,它们应该能够加载。
在您的 webpack.config.js 中,您还需要提供资产文件夹。
{
...webpack,
devServer: {
contentBase: [__dirname + '/public', __dirname + '/assets'],
...webpack.devServer,
},
}
我在使用 webpack 时遇到问题,无法在 webpack 开发服务器上响应提供静态图像。
这是我当前的文件夹结构
如您所见,我有一个资产文件夹 包含我所有的图像 这是我的 webpack 入口和输出配置
客户端条目是我的反应项目的来源 CLIENT_ENTRY: path.join(process.cwd(), 'src/client/index.jsx')
现在这是我在 BASH 中的输出,当 webpack 完成它的部分时
这里是我尝试从项目根目录中的资产文件夹加载图像的地方
预期只有导入工作 。
我尝试像在 webpack 中那样更改输出和 public 路径 路径:path.resolve(__dirname, 'dist'), public路径:'/',
路径:path.resolve(__dirname, 'dist/assets'), public路径:'/资产/',
路径:path.resolve(__dirname, 'dist'), public路径:'/资产',
路径:path.resolve(__dirname, 'dist'), public路径:'/资产/',
等..等..
如果有人能帮助我那就太好了
要遵循 webpack 背后的理念,您需要处理从源到目标的资产。
因此,将您的图像添加到源中的相对路径(您的条目所在的位置,基本上)并为图像添加一个加载器(也许其他事情) 是这样的:
{
test: /\.(woff2?|jpe?g|png|gif|ico)$/,
use: 'file-loader?name=./assets/images/[name].[ext]'
}
只需将输出的相对路径更新为 assets/images,它们应该能够加载。
在您的 webpack.config.js 中,您还需要提供资产文件夹。
{
...webpack,
devServer: {
contentBase: [__dirname + '/public', __dirname + '/assets'],
...webpack.devServer,
},
}