node.js - 使用 apollo 和 express 的全局变量
问题描述
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 设置全局变量?上面的示例返回未定义。
解决方案
由于 es6import
模块被吊起。在运行任何代码之前,将加载所有依赖模块。您需要确保global.myTest
在定义和分配之后访问。您可以使用 nodejsrequire
关键字在将值分配给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
推荐阅读
- delphi - 如何使用自定义图像作为标题创建 BitBtn
- qt - QDialog show() - 在显示之前,窗口区域被涂成白色
- javascript - 如何访问 Gnome-Shell 扩展中的环境变量
- javascript - 如何制作一个基本上嵌入链接网站的机器人?
- node.js - 为什么我的 expect().to.have.property() 传递,即使属性不存在?
- java - 无法启动 sonarqube java.net.ConnectException
- javascript - 如何在 React js 中创建排序动画
- python - AppSync 期望什么响应格式?
- python - 检查日期是在熊猫的上半月还是第二个月
- c++ - 创建类时,可能未在返回类型中定义新类型