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

130
Vistas
Paquete web sin servidor que no incluye el paquete `pg`

Estoy tratando de modificar un código generado a partir de la plantilla aws-nodejs-typescript . Instalé typeorm , reflect reflect-metadata y pg para trabajar con PostgreSQL.

Están en dependencies en package.json ingrese la descripción de la imagen aquí

La configuración del paquete web es la predeterminada.

 const path = require('path'); const slsw = require('serverless-webpack'); const nodeExternals = require('webpack-node-externals'); const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); /* This line is only required if you are specifying `TS_NODE_PROJECT` for whatever reason. */ // delete process.env.TS_NODE_PROJECT; module.exports = { context: __dirname, mode: slsw.lib.webpack.isLocal ? 'development' : 'production', entry: slsw.lib.entries, devtool: slsw.lib.webpack.isLocal ? 'eval-cheap-module-source-map' : 'source-map', resolve: { extensions: ['.mjs', '.json', '.ts'], symlinks: false, cacheWithContext: false, plugins: [ new TsconfigPathsPlugin({ configFile: './tsconfig.paths.json', }), ], }, output: { libraryTarget: 'commonjs', path: path.join(__dirname, '.webpack'), filename: '[name].js', }, optimization: { concatenateModules: false, }, target: 'node', externals: [nodeExternals()], module: { rules: [ // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` { test: /\.(tsx?)$/, loader: 'ts-loader', exclude: [ [ path.resolve(__dirname, 'node_modules'), path.resolve(__dirname, '.serverless'), path.resolve(__dirname, '.webpack'), ], ], options: { transpileOnly: true, experimentalWatchApi: true, }, }, ], }, plugins: [], };

El problema: después de la sls deploy el archivo zip no contiene el paquete pg y, por lo tanto, las solicitudes fallan porque el Postgres package has not been found installed. Try to install it: npm install pg --save . ¿Cómo puedo solucionar esto?

Sospecho que esto podría estar sucediendo debido a una resolución de dependencia dinámica o lo que sea, ya que no hay una dependencia directa en mi código y typeorm decide qué controlador usar en función de la cadena en la configuración de la conexión.

PS sls offline funciona, por lo que el código debería ser correcto y el problema está relacionado con este paquete no incluido en el archivo zip.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Sí, tiene razón, probablemente no haya una dependencia directa y use requisitos dinámicos, es decir, necesita módulos que solo se conocen en tiempo de ejecución.

Por lo tanto, debe forzar la adición usando lo siguiente:

 custom: webpack: includeModules: forceInclude: - pg

Ver inclusión forzada en serverless-webpack .

over 4 years ago · Santiago Trujillo 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