无法使用import关键字导入graphql节点包

时间:2019-05-09 16:28:46

标签: node.js ecmascript-6

有人可以向我解释吗?

每次尝试使用graphql关键字导入import节点程序包时,导入的模块均被读取为未定义,但如果使用require,则将导入该模块。 但是其他节点程序包可以与import关键字配合使用。

这是我的意思:

import graphql from 'graphql';
// console.log(graphql) ---> undefined

const graphql = require('graphql');
// console.log(graphql) ---> {graphql: ......}

1 个答案:

答案 0 :(得分:0)

应将其作为名为import导入:

import { graphql } from 'graphql';

与其他Node软件包的区别在于graphql具有本机ES模块入口点(index.mjs),在将其导入为ES模块时使用。大多数软件包只有CommonJS入口点(例如index.js),模块互操作性使它们在作为ES模块导入时作为默认导入被导入。