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

问题描述:

我将我的Angular应用程序REST后端转换为GraphQL。我试图从graphql-tag导入gql。我正在搜索和搜索,我的进口看起来像所有人都...graphql-tag/index没有导出成员'gql'

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

但gql有红色下划线表示未找到。当我运行ng serve我得到这个错误在cmder ...

.../node_modules/graphql标签/索引“”没有出口成员 'GQL'。)

我遇到很多,许多阿波罗和角NPM安装,包括npm install --save graphql-tag,想安装什么我失踪,似乎并不重要我安装一下

我在做什么错

我明白了。这里发生了什么是您的代码试图解除从graphql-tag导出的对象的结构gql,但错误是告诉您没有该名称的导出成员,这意味着导出的对象没有方法该名称,或者有多个对象被导出。

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

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

你可以看到这一切的时候您可以根据自己的模块导出和导入的东西。

提交记忆,每次看到{something}时,它都会将something拉下对象。

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

const object = { 
    test: { name = 'Locohost' } 
} 

const { name } = object.test 

console.log(name) 
+0

Uhhg,我是个白痴。非常感谢:-) – Locohost

使用默认的出口,而不是:?

import gql from 'graphql-tag';