# apollo-server-test

> ``` yarn ```

Latest version **0.68.5** (published 2020-03-29) · 0 weekly downloads

## Install

```sh
npm install apollo-server-test
pnpm add apollo-server-test
yarn add apollo-server-test
bun add apollo-server-test
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.68.5 |
| Published | 2020-03-29 |
| First published | 2020-03-29 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 654.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | guishan.shen |
| Maintainers | qimeijun |

## Links

- npm: https://www.npmjs.com/package/apollo-server-test
- npm.io page: https://npm.io/package/apollo-server-test

## Dependencies (12)

- [axios](https://npm.io/package/axios.md) ^0.18.0
- [globby](https://npm.io/package/globby.md) ^8.0.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.15
- [morgan](https://npm.io/package/morgan.md) ~1.9.0
- [express](https://npm.io/package/express.md) ~4.16.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^7.0.1
- [custom-env](https://npm.io/package/custom-env.md) ^1.0.1
- [graphql-type-json](https://npm.io/package/graphql-type-json.md) ^0.2.1
- [apollo-server-express](https://npm.io/package/apollo-server-express.md) ^2.3.1
- [@baozun/noa-logger-node](https://npm.io/package/@baozun/noa-logger-node.md) ^1.0.5
- [@okgrow/graphql-scalars](https://npm.io/package/@okgrow/graphql-scalars.md) ^0.4.5
- [@babel/plugin-proposal-class-properties](https://npm.io/package/@babel/plugin-proposal-class-properties.md) ^7.4.4

## Recent versions

- 0.68.5 (latest) — 2020-03-29

## 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 配置开启的模块，遍历查找指定的目录下符合规则的注册模块

---
_Source: https://npm.io/package/apollo-server-test · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
