[英]Override CRA webpack config without ejecting (remove random numbers from media files)
I need to remove generated random numbers from all pdf files names in my project.我需要从项目中的所有pdf文件名中删除生成的随机数。 (for example license.pdf instead of license.3402bc5d.pdf) (例如 license.pdf 而不是 license.3402bc5d.pdf)
I tried to use react-app-rewired .我尝试使用react-app-rewired 。
file config-overrides.js :文件config-overrides.js :
module.exports = function override(config, env) {
config.module = {
...config.module, // copy all settings
rules: [
...config.module.rules,
{
oneOf: [
{
test:/\.pdf$/,
loader: 'file-loader',
options: { name: "static/media/[name].pdf"}
}
]
},
]
};
return config;
};
But it didn't work但它没有用
Here is the solution:这是解决方案:
module.exports = function override(config, env) {
config.module.rules[1].oneOf = config.module.rules[1].oneOf.map((one) => {
if (one.options && one.options.name && one.exclude) {
one.exclude = [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.pdf$/];
}
return one;
}).concat([
{
test:/\.pdf$/,
loader: 'file-loader',
options: { name: "/docs/[name].[ext]"}
}
]);
return config;
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.