全局变量与阿波罗和表达

时间:2019-09-13 13:33:14

标签: apollo-server

index.js

import { ApolloServer } from 'apollo-server-express'
import express from 'express'

global.myTest = true

/models/user.js

import Sequelize from 'sequelize'
console.log('test:' + global.myTest)

任何人都知道如何使用Apollo Server Express设置全局变量吗?上面的示例返回undefined。

1 个答案:

答案 0 :(得分:0)

由于es6 import模块被吊起。在运行任何代码之前,将加载所有从属模块。定义和分配global.myTest后,您需要确保访问它。将值分配给require后,可以使用nodejs global.myTest关键字要求用户模型。

例如

index.js

import { ApolloServer } from 'apollo-server-express';
import express from 'express';

global.myTest = true;

require('./models/user');

./models/user.js

console.log('test:' + global.myTest);

控制台的输出:

$ npx ts-node ./index.js
test:true