有人可以向我解释吗?
每次尝试使用graphql
关键字导入import
节点程序包时,导入的模块均被读取为未定义,但如果使用require,则将导入该模块。
但是其他节点程序包可以与import
关键字配合使用。
这是我的意思:
import graphql from 'graphql';
// console.log(graphql) ---> undefined
const graphql = require('graphql');
// console.log(graphql) ---> {graphql: ......}
答案 0 :(得分:0)
应将其作为名为import导入:
import { graphql } from 'graphql';
与其他Node软件包的区别在于graphql
具有本机ES模块入口点(index.mjs),在将其导入为ES模块时使用。大多数软件包只有CommonJS入口点(例如index.js),模块互操作性使它们在作为ES模块导入时作为默认导入被导入。