usar usa imagenes curso configurar como comandos webpack webpack-2 extract-text-plugin

usa - curso webpack



Webpack: ExtractTextPlugin: ¿No se debe generar un archivo JS vacío por separado cuando se tienen varios puntos de entrada css? (3)

Solo agregue los archivos principales de JavaScript como entradas y requiera todas las fuentes y estilos a través de require(''./style.css'')

webpack.config.js:

entry: { ''main'': ''app/main'', }, output: { path: ''static'', publicPath: ''/static/'', filename: ''[name].bundle.js'', chunkFilename: ''[chunkhash].bundle.js'', }, module: { rules: [ { test: //.css$/, use: ExtractTextPlugin.extract({ fallback: ''style-loader'', use: ''css-loader'' }), }] }, plugins: [ new ExtractTextPlugin(''[name].bundle.css''), ],

Eso le daría un /static/main.bundle.css con todos los css (transitivos) incluidos desde su aplicación / main.js.

Lo mismo para las fuentes, pero necesitaría una segunda instancia de ExtractTextPlugin como:

const extractCSS = new ExtractTextPlugin(''stylesheets/[name].bundle.css''); const extractFonts = new ExtractTextPlugin(''stylesheets/[name].bundle.woff''); module.exports = { module: { rules: [ { test: //.css$/, use: extractCSS.extract([ ''css-loader'', ''postcss-loader'' ]) }, { test: //.woff$/i, use: extractFonts.extract([ ''url-loader'' ]) }, ] }, plugins: [ extractCSS, extractFonts ] };

Consulte la documentación: varias instancias para obtener más información al respecto.

Tengo varios puntos de entrada de CSS:

entry: { ... styles: [ ... ], fonts: [ ... ] },

y estoy usando ExtractTextPlugin para agrupar CSS por separado:

new ExtractTextPlugin({ filename: `[name].bundle.css` }),

Así que, como salida, tengo 2 archivos CSS: styles.css y fonts.css que son correctos pero también vacíos styles.js y fonts.js . ¿Hay alguna manera de no generar archivos JS vacíos?



Arreglé un plugin de webpack para eliminar archivos adicionales en función de su tamaño de salida final, ya que tenía el mismo problema, dado que estos archivos tienden a ser muy pequeños, parece ser solo un caso de comprobar qué tan grandes son y eliminar el tamaño pequeño, inútiles.

Instalar usando npm o yarn

npm install webpack-extraneous-file-cleanup-plugin --save-dev yarn add webpack-extraneous-file-cleanup-plugin --dev

En su archivo webpack.config.js :

const ExtraneousFileCleanupPlugin = require(''webpack-extraneous-file-cleanup-plugin''); module.exports = { ... plugins: [ new ExtraneousFileCleanupPlugin({ extensions: [''.js''] }) ] }

Puede ver la lista completa de opciones en el complemento de limpieza de archivos extraíbles de Webpack Página de Github