es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar un PDF en la compilación de TypeScript para usarlo en Firebase Functions?

Tengo la siguiente función de Firebase que utiliza nodemailer para enviar un correo electrónico con un adjunto.

    await nodemailer.createTransport(transport).sendMail({
        from: from,
        to: studentDto.email,
        subject: subject,
        html: Mail.createInvoice(studentDto, itemDto),
        attachments: [{filename: 'file.pdf', path: './assets/file.pdf'}],
    });

El PDF se encuentra en src/assets/file.pdf. Cuando ejecuto npm run build, se crea la carpeta lib, pero assets/file.pdf no se incluye.

tsconfig.json:

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017"
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}

¿Cómo se puede incluir file.pdf en la compilación?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para incluir file.pdf en la compilación, puedes agregar una propiedad "assets" a los "compilerOptions" en tu archivo tsconfig.json. Esta propiedad especifica una lista de directorios de activos para incluir en la compilación. Por ejemplo:

    {
      "compilerOptions": {
        "module": "commonjs",
        "noImplicitReturns": true,
        "noUnusedLocals": true,
        "outDir": "lib",
        "sourceMap": true,
        "strict": true,
        "target": "es2017",
        "assets": [
          "src/assets"
        ]
      },
      "include": [
        "src"
      ]
    }
    

    Al agregar "src/assets" a la lista "assets", el file.pdf se incluirá en el proceso de compilación y se copiará al directorio lib junto con tu código TypeScript compilado.

Comments are closed.