You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用npm命令构建并打包Apollo GraphQL服务器应用?

构建与打包Apollo GraphQL服务器的npm命令指南

一、先确认项目类型与配置

不同技术栈(纯JS/TypeScript)的构建打包流程略有差异,先对应你的项目类型操作:

1. 纯JavaScript项目

如果你的Apollo服务器是纯JS编写,无需编译,核心是整理依赖与源码:

  • 安装生产依赖:跳过开发依赖,仅安装运行必需的包
    npm ci --only=production
    
  • 生成可分发压缩包(可选):把项目打包成tar包,方便传输到服务器
    npm pack
    
    执行后会生成[项目名]-[版本号].tgz文件,服务器上解压后再次执行npm ci --only=production即可完成依赖安装。
  • 启动生产环境服务:在package.json里配置生产启动脚本(比如start:prod),示例:
    "scripts": {
      "start": "nodemon index.js",
      "start:prod": "node index.js"
    }
    
    部署后执行启动命令:
    npm run start:prod
    

2. TypeScript项目

若用TypeScript开发,需先编译为JavaScript再部署:

  • 安装全部依赖:包括TypeScript编译工具
    npm install
    
  • 编译TypeScript代码:执行预定义的build脚本(需在package.json中配置),示例:
    "scripts": {
      "start": "nodemon src/index.ts",
      "build": "tsc"
    }
    
    运行编译命令:
    npm run build
    
    编译产物默认输出到dist目录(由tsconfig.json的outDir字段控制)。
  • 打包部署文件:将dist目录、package.json、package-lock.json一同打包,或直接用npm pack(需确保package.json的files字段包含dist目录)。
  • 生产环境启动:服务器上安装生产依赖后启动服务,示例脚本:
    "start:prod": "node dist/index.js"
    
    执行命令:
    npm ci --only=production
    npm run start:prod
    

二、可选:打包为单可执行文件

如果希望服务器无需安装Node.js环境,可使用pkg工具打包成独立可执行文件:

  • 全局安装pkg:
    npm install -g pkg
    
  • 在package.json中配置bin字段指向项目入口文件,然后执行打包:
    pkg .
    
    会生成对应操作系统(Windows/Linux/macOS)的可执行文件,直接运行即可启动服务。

内容的提问来源于stack exchange,提问作者Manas Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 13:07:15