Webpack está copiando archivos estáticos png,jpg,svg que se importan en cada archivo de componente.
El archivo que aloja la imagen es fijo y la ruta es estática.
El archivo del componente es así: mycomponent.ts
import img from 'assets/img/aa.png
.... <img src={img} alt="" />
A continuación se muestra un caso más complicado.
import imgurl from ${url}<img src={imgurl} />static ! (este es mi objetivo)Lo que necesito que haga el paquete web: .
assets/img y muévalas a static/img , como si las imágenes se hubieran importado de assets/img , en lugar de url.js & css con publicPath : config.output.publicPath = http://www... ; ,fragmento de imagen de agrupación, hasta ahora:
// so, this changes copy the imported, into react components, images, into // static/media // but it copies ONLY the images that are imported from `assets/img` // it ignores if i import an image from a url eg import img from ${url} function addMedia(config, outputPath){ const media = { test: /\.(woff(2)?|ttf|eot|svg|png)(\?v=\d+\.\d+\.\d+)?$/, use: [ { loader: 'file-loader', options: { name: '[name].[hash:8].[ext]', outputPath: 'static/media', } } ] }; config.module.rules.push( media ); } Entonces, me pregunto si hay una manera de agrupar/copiar imágenes de assets/img -> static/media , aunque en el archivo de reacción las importo desde una url .
Puede usar el copy-webpack-plugin para copiar imágenes de assets/img a static/media de la siguiente manera:
const CopyPlugin = require("copy-webpack-plugin"); module.exports = { plugins: [ new CopyPlugin({ patterns: [ { from: "assets/img", to: "static/media" } ], options: { concurrency: 100, }, }), ], }; Documentación de copy-webpack-plugin : https://webpack.js.org/plugins/copy-webpack-plugin/