1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/nur-graphql-js

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

GraphQL.js

Справочная реализация на JavaScript для GraphQL — языка запросов для API, созданного Facebook.

Версия npm Статус сборки Статус охвата

Для более полной документации посетите https://graphql.org/ и https://graphql.org/graphql-js/.

Ищете помощь? Найдите ресурсы от сообщества.

Начало работы

Обзор GraphQL в целом доступен в README для Спецификации GraphQL. Этот обзор описывает простое множество примеров GraphQL, которые существуют как тесты в этом репозитории. Хороший способ начать работу с этим репозиторием — пройти через этот README и соответствующие тесты параллельно.

Использование GraphQL.js

Установите GraphQL.js из npm

С помощью npm:

npm install --save graphql

или альтернативно, используя yarn:

yarn add graphql

GraphQL.js предоставляет две важные возможности: построение схемы типов и обработку запросов против этой схемы типов.

Сначала, постройте схему типов GraphQL, которая соответствует вашему коду.

import {
  graphql,
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString,
} from 'graphql';

var schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
      hello: {
        type: GraphQLString,
        resolve() {
          return 'world';
        },
      },
    },
  }),
});
```Это определяет простую схему с одним типом и одним полем, которое разрешается
к фиксированному значению. Функция `resolve` может вернуть значение, промис,
или массив промисов. Более сложный пример включен в верхнем уровне
[тестов](src/__tests__) директории.

Затем, обработайте результат запроса против этой схемы типов.

```js
var query = '{ hello }';

graphql(schema, query).then((result) => {
  // Выводит
  // {
  //   data: { hello: "мир" }
  // }
  console.log(result);
});

Этот запрос извлекает определенное поле. Функция graphql сначала проверяет синтаксическую и семантическую корректность запроса перед его выполнением, в противном случае отображает ошибки.

var query = '{ BoyHowdy }';

graphql(schema, query).then((result) => {
  // Выводит
  // {
  //   errors: [
  //     { message: 'Невозможно запросить поле BoyHowdy на RootQueryType',
  //       locations: [ { line: 1, column: 3 } ] }
  //   ]
  // }
  console.log(result);
});

Примечание: Не забудьте установить NODE_ENV=production, если вы запускаете сервер в режиме production. Это отключит некоторые проверки, которые могут быть полезны во время разработки, но значительно улучшат производительность.

Хотите использовать самую последнюю версию?Ветка npm в этом репозитории автоматически поддерживается, чтобы быть последним коммитом к master, который прошёл все тесты, в том же виде, как он представлен на npm. Рекомендуется использовать сборки, развернутые на npm, по многим причинам, но если вы хотите использовать самую последнюю, ещё не выпущенную версию graphql-js, вы можете сделать это, завися напрямую от этой ветки:```

npm install graphql@git://github.com/graphql/graphql-js.git#npm


### Использование в браузере

GraphQL.js — это универсальная библиотека и может использоваться как на сервере Node, так и в браузере. Например, инструмент [GraphiQL](https://github.com/graphql/graphiql/) построен с использованием GraphQL.js!

Создание проекта с использованием GraphQL.js с помощью [webpack](https://webpack.js.org) или [rollup](https://github.com/rollup/rollup) должно работать без проблем и включать только те части библиотеки, которые вы используете. Это работает благодаря тому, что GraphQL.js распространяется с файлами CommonJS (`require()`) и ESModule (`import`). Убедитесь, что любые пользовательские конфигурации сборки ищут файлы `.mjs`!

### Вклад

Мы активно приветствуем pull requests, узнайте, как [вносить вклад](https://github.com/graphql/graphql-js/blob/master/.github/CONTRIBUTING.md).

### Изменения

Изменения отслеживаются как [GitHub releases](https://github.com/graphql/graphql-js/releases).

### Лицензия

GraphQL.js распространяется под лицензией [MIT](https://github.com/graphql/graphql-js/blob/master/LICENSE).

### Кредиты

Файлы `*.d.ts` в этом проекте основаны на [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/54712a7e28090c5b1253b746d1878003c954f3ff/types/graphql) определениях, написанных:- Тони Янг https://github.com/TonyPythoneer
- Кaleb Меррит https://github.com/calebmer
- Доминик Уотсон https://github.com/intellix
- Firede https://github.com/firede
- Кепеннар https://github.com/kepennar
- Михаил Новиков https://github.com/freiksenet
- Иван Гончаров https://github.com/IvanGoncharov
- Хагай Коэн https://github.com/DxCx
- Рикардо Португал https://github.com/rportugal
- Тим Гриессер https://github.com/tgriesser
- Дилан Стюарт https://github.com/dyst5422
- АLESSIO ДИОНИСИ https://github.com/adnsio
- Дивйенду СИНГ https://github.com/divyenduz
- БРАД ЗАЧЕР https://github.com/bradzacher
- Кёртис Лейн https://github.com/clayne11
- Джонатан Кардосо https://github.com/JCMais
- Павел Ланг https://github.com/langpavel
- Марк Каудилл https://github.com/mc0
- Мартиньен Вальравен https://github.com/martijnwalraven
- Джед Мао https://github.com/jedmao

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Эталонная реализация JavaScript для GraphQL — языка запросов для API, созданного Facebook. Развернуть Свернуть
JavaScript и 2 других языков
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/nur-graphql-js.git
git@api.gitlife.ru:oschina-mirror/nur-graphql-js.git
oschina-mirror
nur-graphql-js
nur-graphql-js
master