apollo-server-test
v0.68.5
Published
``` yarn ```
Downloads
2
Readme
安装依赖
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 配置开启的模块,遍历查找指定的目录下符合规则的注册模块