Estoy tratando de usar electron-packager para empaquetar una aplicación de electrones. Al empaquetar mi aplicación, quiero ignorar todo el contenido de ciertas carpetas. Usando el indicador --ignore puede pasar una expresión regular a electron-packager para indicarle que ignore las coincidencias.
Mi estructura de carpetas se parece a
app |--build |--node_modules |--src index.html main.js package.json Usando el método de la respuesta aceptada de esta pregunta , antepuse mi expresión con ^ para restringir el patrón al nivel raíz.
let execArgs = `npx electron-packager ./ "${productName}"` + ` --platform=win32` + ` --out=${outPath}` + ' --ignore=^/build'; execSync(execArgs); Sin embargo, parece que electron-packager sigue ignorando más que solo las carpetas específicas. Si trato de ejecutar la aplicación empaquetada, aparece el error Error: Cannot find module '../helpers/buildURL' . La ruta relativa completa de este archivo es ./node_modules/axios/lib/helpers/buildURL.js .
Si comento la línea ignorando la carpeta de compilación, ya no obtengo el error anterior.
// + ' --ignore=^/build'¿Cómo puedo hacer que electron-packager ignore carpetas específicas y su contenido desde el nivel raíz?
Parece que todo lo que tuve que hacer fue poner mi argumento entre comillas.
+ ' --ignore="^/build"';No estoy seguro de por qué esto marcó la diferencia, ya que mi argumento no incluye ningún espacio, pero cuando lo encerré entre comillas, la expresión ignoró solo los archivos correctos.
Siempre uso este script para ignorar archivos cuando empaqueto una aplicación de electrones
script{"electron-build":"electron-packager. MYAPP --ignore build/* }