tutorial concepts webpack webpack-2

concepts - webpack tutorial



¿Hojas de estilos de salida solo para puntos de entrada específicos en Webpack sin generación de scripts? (1)

Webpack crea un archivo separado para cada key presente en tu objeto de entrada

la key del objeto de entrada decide el name del archivo separado para crear y el value de esa clave decide qué content incluir en ese archivo

si no desea crear un archivo separado, pero incluya su contenido en el paquete, simplemente agregue la ruta de este archivo en su entrada anterior

por ejemplo

entry: { main: [''src/js/main.js''], app: [''src/js/app.js''] }

creará dos archivos seprate 1. main.js y 2. app.js con su respectivo contenido

y

entry: { main: [''src/js/main.js'', ''src/js/app.js''] }

creará un archivo main.js (porque la clave del objeto de entrada se llama main ) con el contenido de ambos archivos incluidos en él

y

entry: { app: [''src/js/main.js'', ''src/js/app.js''] }

también creará un archivo app.js (porque la clave del objeto de entrada se llama app ) con el contenido de ambos archivos incluidos en él

por lo tanto, si no desea crear un archivo de errores por separado, sino incluir su contenido, no agregue la propiedad de errores en el objeto de entry

entonces tu configuración será como

entry: { ''main'': [ ''babel-polyfill'', ''./source/styles/src/imports/main/main.scss'', ''./source/app/app.main.js'', ''./source/styles/src/imports/errors/errors.scss'' <--- so that webpack know to include content of that file also ], ''login'': [ ''./source/styles/src/imports/login/login.scss'', ''./source/scripts/login.js'' ] }

También tenga en cuenta que necesita usar el style-loader o extract-text-webpack-plugin para separar el contenido css de su archivo JavaScript

Para crear un archivo independiente errors.css , necesita usar dos instancias diferentes de extract-text-wepack-plugin una para el archivo css regular y otra para el archivo errors.css y use include exclude property to seprate

const extractCSS = new ExtractTextPlugin(''main.css''); const extractERRORS = new ExtractTextPlugin(''errors.css''); . . . module: { rules: [ { test: //.scss$/, exclude: /errors/, use: extractCSS.extract([ ''css-loader'', ''sass-loader'' ]) }, { test: //.scss$/, include: /errors/, use: extractERRORS.extract([ ''css-loader'', ''sass-loader'' ]) }, ] }, plugins: [ extractCSS, extractERRORS ]

Tengo varios puntos de entrada en la configuración de mi paquete web para inicio de sesión, aplicación, páginas de error, solo necesito iniciar sesión y la aplicación para generar un archivo js para estas entradas y el error para solo los estilos de salida. Por el momento, todas las entradas generan tanto estilos como scripts y no estoy demasiado seguro de cómo ser específico con lo que se obtiene.

Webpack

entry: { ''main'': [ ''babel-polyfill'', ''./source/styles/src/imports/main/main.scss'', ''./source/app/app.main.js'' ], ''login'': [ ''./source/styles/src/imports/login/login.scss'', ''./source/scripts/login.js'' ], ''errors'': ''./source/styles/src/imports/errors/errors.scss'' }, output: { path: path.resolve(__dirname, ''dist''), filename: ''./scripts/[name]/[name].min.js'', chunkFilename: ''./scripts/chunks/[id].[name].min.js'' }

Salidas

dist/ scripts/ errors/ <---- doesn''t need to be here main/ login/ styles/ errors/ main/ login/

¿Alguien puede sugerir cómo puedo excluir que se produzcan errores en las secuencias de comandos?