Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Ejecutar un archivo JavaScript al ejecutar ng build

Me gustaría ejecutar un archivo JavaScript en mi aplicación Angular cada vez que ejecuto ng build . Para ser más precisos, quiero que este archivo se ejecute antes del proceso de compilación para que los cambios que realice estén presentes en la compilación.

Es un script simple que lee la versión de la aplicación y sus dependencias y las escribe en un objeto.

El archivo se llama pre-build.js y he intentado configurar el comando de build en package.json de la siguiente manera, sin embargo, puedo ver que el script no se ejecutó:

 { ... ..., "scripts": { "ng": "ng", "start": "ng serve", "build": "node pre-build.js && ng build", "watch": "ng build --watch --configuration development", "test": "ng test" }, ..., ..., }

La ruta del script es ./pre-build.js . Supongo que tengo que cambiar más configuraciones para lograr esto, pero no puedo averiguar dónde. Cualquier pista será apreciada.

Editar:

Este es el contenido de pre-build.js :

 const path = require('path'); const fs = require('fs'); const appVersion = require('./package.json').version; const appDeps = JSON.stringify(require('./package.json').dependencies); const versionFilePath = path.join(__dirname + '/src/environments/version.ts'); const src = `export const version = '${appVersion}';\nexport const buildTime = '${new Date()}';\nexport const deps = ${appDeps};`; // ensure version module pulls value from package.json fs.writeFile(versionFilePath, src, (err) => { if (err) { console.log(err); } });

Cuando ejecuto node pre-build.js en la terminal, el código funciona bien y actualiza el archivo version.ts . Pero de alguna manera quiero ejecutar automáticamente este comando cada vez que ejecuto ng build . Cosa que hasta ahora no he podido hacer.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Editar

La respuesta correcta a este problema es que no debe ejecutar ng build pero debe ejecutar npm run build ya que desea ejecutar el script. Cuando haga ng build , esto solo activaría la compilación para angular y no actualizaría su archivo de versión.

A continuación se muestra un ejemplo de su mismo código exacto al hacer npm run build , así que asegúrese de actualizar la forma en que compila.

ingrese la descripción de la imagen aquí

Pruébelo y avíseme si esto sigue siendo un problema.


respuesta antigua

Puede crear un script ".sh" para ejecutar todo lo que necesita. Esto podría ser útil más adelante para agregar más comandos previos o posteriores a la compilación

Aquí hay un ejemplo

paquete.json

 "scripts": { "build:angular": "ng build", "build": ./build.sh }

construir.sh

 #!/bin/bash node ./pre-build.js npm run build:angular

Asegúrese de que la compilación previa sea ejecutable, al igual que build.sh (chmod https://askubuntu.com/questions/229589/how-to-make-a-file-ega-sh-script-executable-so-it- puede-ser-ejecutado-desde-un-termi )

about 4 years ago · Juan Pablo Isaza Denunciar

0

Prueba así:

 node ./pre-build.js && ng build
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda