graphql-tag / index没有导出成员'gql'

我将我的Angular应用程序REST后端转换为GraphQL。 我试图从graphql-tag导入gql。 我正在search和search,我的导入看起来像每个人都…

import { Angular2Apollo } from 'angular2-apollo'; import { ApolloClient } from 'apollo-client'; import { gql } from 'graphql-tag'; 

但是gql的红色下划线表示没有find。 当我运行ng serve我得到这个错误cmder …

… / node_modules / graphql-tag / index“'没有导出成员'gql'。)

我已经运行了许多apollo和angular度npm安装,包括npm install --save graphql-tag ,试着安装任何我失踪的东西,似乎并不npm install --save graphql-tag我安装的东西。

我究竟做错了什么?

我看到了。 这里发生了什么事是你的代码试图从导出的graphql-tag对象中parsinggql ,但错误是告诉你没有这个名字的导出成员,这意味着导出的对象没有方法该名称,或者有多个对象导出。

如果您要查看graphql-tag的代码,您会看到它可能有几个导出对象,或者只有一个没有名为gql的方法,所以您需要做的是直接使用gql ,即:无解构它,即:没有{}。

这将是正确的: import gql from 'graphql-tag'

你可以一直看到这个,这取决于你如何从模块中导出和导入东西。

承诺记忆,每当你看到{东西},它是从物体上拉下something

下面是一些示例代码来说明:

 const object = { test: { name = 'Locohost' } } const { name } = object.test console.log(name) 

改为使用默认导出:

 import gql from 'graphql-tag';