javascript - 在具有多个功能的模块的文件之间共享变量。
问题描述
我有一个 module.exports 里面有多个功能。我所理解的是,可以将变量共享到另一个文件。但我似乎无法让它工作。
翻译器.js
module.exports = {
translatorfunc: function (message, queryInput, callback) {
var parameters = {
text: queryInput
};
var parameters = {
text: queryInput,
model_id: 'es-en'
};
languageTranslator.translate(
parameters,
function (error, response) {
if (error)
bot.reply(message, 'Cannot find language that should understand this.')//console.log(error)
else
var TranslatedOutput = response.translations[0].translation;
assistant.message({
input: { 'text': TranslatedOutput }
}, function (err, response) {
if (err)
console.log('error:', err);
else
queryOutput = response.output.text[0];
var parameters = {
text: queryOutput,
model_id: 'en-es'
};
languageTranslator.translate(
parameters,
function (error, response) {
if (error)
bot.reply(message, 'Cannot find language that should understand this.')//console.log(error)
else
TranslatedOutput = response.translations[0].translation;
}
)
});
}
)
}
}
我试图发送到不同文件的变量是 TranslatedOutput
我还尝试将函数 languageTranslator.translate 包装为一个函数,但是当我调用该变量时,它显示未定义。
并得到变量
var translator = require('./tools/translator')
console.log(translator.translatorfunc.TranslatedOutput);
提前致谢,圣诞快乐。
解决方案
您必须使变量成为 module.exports 对象的属性:
module.exports.TranslatedOutput = '东西';
这样你就可以像这样导入它:
var TranslatedOutput = 要求('myModule')。翻译输出;
推荐阅读
- matlab - 在 MATLAB 上绘制标准差
- flutter - 有没有办法每五首歌曲正确放置一个音频广告,然后使用 audio_service 和 just_audio 将其删除?
- python - 如何在 python 中的 pandas 数据框中查找特定值
- python - Selenium Python - 每行不同的数据,但总是得到相同的数据
- c# - Serilog 最佳实践与例外
- spring - Spring Boot:与@JoinColumn 的 ManyToOne 关系保持外键为空
- javascript - 在 Google Chrome 扩展程序中使用弹出窗口时如何将事件发送到后端
- python - Python:使用随机密码保护 PDF 并保存文件名-密码
- php - 如何使用同一个表中的 sql 创建一个具有三层深度的嵌套数组
- python - 在 jupyter notebook 中调试 numpy 数组时解析时出现意外 EOF