Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

144
Views
Dividir múltiples puntos de entrada en construcciones distinguibles que funcionan por sí mismas

He escrito una aplicación React que tiene una versión independiente y una versión integrada. La diferencia es que la versión incrustada pierde algunos componentes y hace mucha carga diferida (tiene un tamaño muy reducido en comparación con la versión independiente). Debido a la carga diferida, la versión integrada genera muchos archivos js. Ahora, lo que estoy tratando de lograr es que cada vez que construyo mi (s) proyecto (s), crea dos carpetas;

  • build/standalone => todos los archivos JS necesarios para importar la aplicación independiente en cualquier proyecto html
  • build/embedded => todos los archivos JS necesarios para importar la aplicación integrada en cualquier proyecto html

¿Cómo podría hacer esto?

paquete web.common.js

 module.exports = { entry: { standalone: path.resolve(__dirname, '../src/index.standalone.tsx'), embedded: path.resolve(__dirname, '../src/index.embedded.tsx') }, resolve: { extensions: ['.tsx', '.ts', '.js'] }, output: { path: path.resolve(__dirname, '..', './build'), filename: '[name].[contenthash].bundle.js' // I know I could do ./[name]/[contenthash].bundle.js but this also results in folders for chunks }, optimization: { runtimeChunk: 'single', splitChunks: { chunks: 'all' } }, plugins: [ new HtmlWebpackPlugin({ template: path.resolve(__dirname, '..', './public/index.html') }) ] };

Lo que recibo ahora mismo, que no es lo que quiero;

ingrese la descripción de la imagen aquí

Con esto, es casi imposible saber qué archivos necesita, por ejemplo, implementar la versión integrada en mi página web.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Una forma sencilla de lograr esto es hacer que output.filename sea una función y usar el nombre del fragmento.

 output: { path: path.resolve(__dirname, '..', './build'), filename: (pathData) => { return `${pathData.chunk.name}/[name].[contenthash].bundle.js`; }, },

Hay más ejemplos en los documentos vinculados.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!