0.68.5 • Published 4 years ago

apollo-server-test v0.68.5

Weekly downloads
3
License
-
Repository
-
Last release
4 years ago

安装依赖

yarn

下载本地环境变量文件

下载本文件 http://git.baozun.com/snippets/32/raw

根据开发项目填充配置,本文件不加入 git 追踪

启动开发模式

yarn start:dev

发布 NPM Package

// 执行 commit message
yarn commit

// 构建、发布到 npm
yarn pub

作为 NPM Package 使用

const exrepss = require('express')
const app = new exrepss()

const apollo = require('@baozun/apollo-server')
apollo.applyMiddleware({ app })

app.listen({ port: 4100 }, (e) =>{
    console.log(`🚀 Server ready at http://localhost:4000${apollo.graphqlPath}`)
});

独立部署

TBD

扩展

我们建议您把项目扩展的 schema 和 resolver 放置在一个目录下面,同时只使用一层层级,例如使用这样的文件结构:

/project/graphql/schema/*.js
/project/graphql/resolver/*.js

这样我们在设置环境变量只需要传入 schema 文件夹的绝对路径

process.env.APOLLO_SERVER_CUSTOM_EXTERNAL_FLODER =  /Users/yourname/project/graphql/schema

项目启动的时候从会加载当前路径加载便利文件并导入,同时会校验文件语法,没有问题则可以正常启动工作,如果有语法错误会抛出致命错误

环境变量

APOLLO_SERVER_ENV                    // Apollo Server 启动环境变量
APOLLO_SERVER_PORT                   // Apollo Server 启动端口
APOLLO_SERVER_HOST                   // Apollo Server 启动 host 地址

APOLLO_SERVER_BACKEND_API_BASEURL    // Apollo Server 使用的 JAVA API 网关地址
APOLLO_SERVER_BACKEND_API_ORIGIN     // Apollo Server 使用的 JAVA API 租户鉴定域名
APOLLO_SERVER_BACKEND_CUSTOMIZE_ORIGIN

APOLLO_SERVER_CUSTOM_EXTERNAL_FLODER // Apollo Server 使用的自定义扩展部分需要传入的目录
APOLLO_SERVER_REDIS_STATUS           // Redis 开启状态
APOLLO_SERVER_REDIS_DEFAULT_EXPIRES  // Redis key 默认过期时间

模块扩展

通过 ./modules-entry.js 配置开启的模块,遍历查找指定的目录下符合规则的注册模块