如何在DigitalOcean部署的Serverless JavaScript Node.js函数中引入PG模块?
在DigitalOcean部署JavaScript Serverless函数时导入pg包的解决方案
1. 本地准备依赖
- 在函数项目根目录执行初始化命令:
npm init -y,生成package.json文件 - 安装pg模块:
npm install pg,此时package.json的dependencies会自动添加pg的版本信息
2. 正确导入模块
根据项目模块规范选择对应导入方式:
- CommonJS(默认):在函数入口文件中使用
const { Pool } = require('pg'); - ES模块:先在
package.json中添加"type": "module",再使用import { Pool } from 'pg';
3. 部署与配置
- 部署时无需手动上传
node_modules,DigitalOcean Serverless平台会自动读取package.json中的依赖,在部署过程中安装 - PostgreSQL连接参数(主机、用户名、密码等)建议通过DigitalOcean的环境变量配置,避免硬编码:
const pool = new Pool({ host: process.env.PG_HOST, user: process.env.PG_USER, password: process.env.PG_PASSWORD, database: process.env.PG_DATABASE, port: process.env.PG_PORT || 5432 });
4. 错误排查
- 若仍出现模块找不到的错误,检查
package.json是否在函数根目录,且dependencies中确实包含pg - 确认部署时已将
package.json文件包含在部署包内
内容的提问来源于stack exchange,提问作者Phoxer
相关产品推荐
相关产品推荐

