问题标签 [module.exports]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
139 浏览

javascript - 我无法访问其他脚本中的变量。(Module.exports 并非在所有地方都有效)

我一直遇到module.exports问题。
我有 2 个使用Discord.js的脚本,并且我需要有一个两个脚本通用的SetTimeout()变量才能从每个脚本中使用ClearTimeout()
我尝试使用:

这是一个测试,用一个简单的变量代替我的 SetTimeout(),看看我是否以错误的方式做这件事。
当我使用node命令运行新脚本但在我的 2 个原始脚本上使用npm start时,测试工作正常,它返回“未定义”,同时具有相同的语法。 在每个脚本中已经有一个用于Discord.js事件类的 module.exports,例如“Ready” 我在声明const的顶部的主module.exports之外运行这段代码。 我想知道这是否导致了我的问题。




例子:

谢谢你的帮助。
如果需要,请向我澄清。

编辑:
我在互联网上查找是否是脚本中已经存在的 module.export 的问题。确实如此。

显然,如果每个模块都没有指定变量,则脚本中不能有多个module.export :

我的问题是“discord.js 编译器”使用已经存在的那个来注册每个命令,所以我无法在不破坏机器人的情况下修改它。

我决定将我的计时器放在一个名为 GlobalVars的新脚本中,它运行得非常好。
我很满意它现在可以工作。
对我来说,问题已解决,但我想知道是否可以使用包含的 discord.js module.exports 语法导出变量。

0 投票
2 回答
91 浏览

javascript - JavaScript 中的 Module.exports

和之间有什么不同module.exports = testMethod ;module.exports = { testMethod } ;因为当我使用module.exports = testMethod ;它时会抛出如下错误。 错误:Route.get() 需要一个回调函数,但得到一个 [object Undefined] 但我可以接受module.exports = { testMethod } ;

整个代码是

0 投票
0 回答
17 浏览

javascript - 节点js'function'没有被导出,即使它是

我正在编写一个反应应用程序,我需要从另一个网站获取一些数据。

const getUserData = (id, key, access_token, getWith) => {...} 此函数从外部源获取数据并像这样导出:

然后在另一个文件中使用该函数,如下所示:

如果我启动 react-app 一切正常,但如果我想构建网站,我会收到错误:

尝试导入错误:“getUserData”未从“../Logic/userLogic.js”导出。

0 投票
0 回答
25 浏览

javascript - 为 module.exports 定义参数

我有以下代码实现

module.exports.post_get_follower = async (req, res) => {

我用以下实现来称呼它

如何在 module.exports 中定义一个参数并在我的第二个实现中像“ email:参数”(而不是res.locals.user.email)一样使用它module.exports,如何const mail在我的第二个实现中调用它?

0 投票
1 回答
28 浏览

javascript - 如何在 Express router.get() 函数中导出本地函数?

我希望使用导出本地函数,module.exports = { router, functionName }但目前我正在努力这样做。我的代码如下所示 - 我想知道如何导出控制器“checkUserLoginCredentials”。

我希望导出控制器以在单元测试中使用,但由于控制器是一个本地函数,我不能简单地将它放入module.exports,然后使用const { checkUserLoginCredentials } = require('path'). 任何帮助将不胜感激,谢谢。

0 投票
1 回答
136 浏览

javascript - 对模块导出/需求感到困惑

我正在研究一个我基本上重构现有代码的作品。我有两个文件:索引和服务器。我的索引是:

我的服务器是这样的:

服务器在本地执行时应该运行 REST 服务,并导出该inject方法的服务器实例。这样,在 AWS Lambda 下运行时,代理可以附加到它。

我以前多次使用相同的设置。只有两个部分在同一个文件中,例如服务器在索引中。单个文件版本工作正常 -require.main比较告诉程序它是如何运行的,并在 Lambda 下运行时使用所需的方法module.exports公开服务器实例 [ ],并通过直接调用运行 REST 服务。serverinject

react-loadable但是,由于我这次需要导入,所以我将文件分成两部分。

现在,我可能需要弄清楚代码是如何在内部运行的,index.js因为server.js它没有被直接调用,然后将其传递给服务器。这可能不是太难。

我的主要问题是,如果我console.log(require('./server'))从索引开始,它会打印{}. 当服务器实例成功创建并且inject()存在时;我无法从 server.js 文件中导出它并正确导入 index.js,因此 [re-] 从 index.js 中导出它以供代理附加。

显然,我做错了什么。对我来说,似乎我的 require 没有服务器实例,因为实例是在 require 完成后创建的。由于我的 main() 是异步的,因此它是合理的。实现这一目标的正确方法是什么?

0 投票
1 回答
74 浏览

javascript - NW.js 导出模块时遇到问题

我正在尝试module.exports()在我的 NW.js 应用程序中创建一个新模块。

我有两个正在使用的文件:

索引.js

twitchAuth.js

唯一的问题是,当我添加const exportable = require("./separateFile.js");index.jsthengkmaudio-stream-meter停止工作以及我的其他代码时。

在此处查看完整的源代码

0 投票
1 回答
52 浏览

requirejs - 加载 typedarray 模块时出现“未捕获的 ReferenceError:未定义导出”

我正在尝试加载typedarray polyfill模块:

https://github.com/substack/typedarray

在我的应用程序中,像这样(requireJS):

该应用程序编译没有问题,但在运行时我得到:

index.js:264 未捕获的 ReferenceError:未定义导出

这是由 polyfill 的 index.js 中的这一行引起的:

我该如何解决?很感谢任何形式的帮助!

谢谢

汉克

0 投票
0 回答
110 浏览

javascript - 生成后将数组导出到另一个文件?

所以基本上我有三个文件:main.js、helper.js 和 mapLibrary.js

Main.js 是一个 api 调用生成器,它使用 helper.js 中的辅助方法创建对象数组。我想在创建数组后将其导出到 mapLibrary.js。

问题是,一旦我 module.export 数组结果为未定义。我相信这是因为 module.exports 在文件的开头将其导出,然后才完全填充对象。我已经尝试将它导出到生成的结束标志中,但这也不起作用。

一种解决方案是使用异步承诺/回调,但这可能会使我的代码更加复杂,我只想以简单的方式传输这个变量数组文件,而不是重构我现有的所有代码。有任何想法吗?

主.js

地图库.js

抱歉含糊不清,但有什么想法可以解决这个问题吗?

0 投票
1 回答
591 浏览

node.js - module.exports 与环境变量

将敏感凭据存储在 credentials.js 文件与 .env 文件有什么区别?

使用 module.exports 您可以编写:

而使用 .env 文件,您可以编写:

在这两种情况下,您都实现了使某些变量“全局”并全局访问它的相同目标。为什么人们使用 .env 和 dotenv 而不是仅仅使用 Node 内置的 module.exports 系统?