Como reemplazar no funcionaba para mí, he creado un paquete simple npm replace-in-file para reemplazar rápidamente el texto en uno o más archivos. Está parcialmente basado en la respuesta de @ asgoth.
Editar (3 de octubre de 2016) : el paquete ahora admite promesas y promesas, y las instrucciones de uso se han actualizado para reflejar esto.
Editar (16 de marzo de 2018) : el paquete ha acumulado más de 100k descargas mensuales ahora y se ha ampliado con características adicionales, así como una herramienta CLI.
Instalar en pc:
npm install replace-in-file
Requerir módulo
const replace = require('replace-in-file');
Especificar opciones de reemplazo
const options = {
//Single file
files: 'path/to/file',
//Multiple files
files: [
'path/to/file',
'path/to/other/file',
],
//Glob(s)
files: [
'path/to/files/*.html',
'another/**/*.path',
],
//Replacement to make (string or regex)
from: /Find me/g,
to: 'Replacement',
};
Reemplazo asincrónico con promesas:
replace(options)
.then(changedFiles => {
console.log('Modified files:', changedFiles.join(', '));
})
.catch(error => {
console.error('Error occurred:', error);
});
Reemplazo asincrónico con devolución de llamada:
replace(options, (error, changedFiles) => {
if (error) {
return console.error('Error occurred:', error);
}
console.log('Modified files:', changedFiles.join(', '));
});
Reemplazo sincrónico:
try {
let changedFiles = replace.sync(options);
console.log('Modified files:', changedFiles.join(', '));
}
catch (error) {
console.error('Error occurred:', error);
}