react webpack 打包public里所有的静态资源
时间: 2023-07-29 09:07:16 浏览: 88
要使用Webpack打包public里所有的静态资源,你需要在Webpack的配置文件中添加相应的规则。具体步骤如下:
1. 在Webpack配置文件中添加一个名为`copy-webpack-plugin`的插件,用于复制public目录中的文件到打包后的目录中:
```javascript
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
// ...
plugins: [
new CopyWebpackPlugin({
patterns: [
{ from: 'public', to: '.' },
],
}),
],
// ...
};
```
2. 添加一个规则,用于处理其他非JavaScript类型的文件。这里我们使用`file-loader`,将这些文件复制到打包后的目录中:
```javascript
module.exports = {
// ...
module: {
rules: [
// ...
{
test: /\.(png|jpe?g|gif|ico|svg|woff|woff2|eot|ttf|otf)$/i,
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'assets',
},
},
],
},
// ...
};
```
这个规则会匹配所有以`.png`、`.jpg`、`.jpeg`、`.gif`、`.ico`、`.svg`、`.woff`、`.woff2`、`.eot`、`.ttf`、`.otf`结尾的文件,并将它们复制到打包后的`assets`目录中。
通过以上步骤,你就可以使用Webpack打包public目录中的所有静态资源了。