问题标签 [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 投票
2 回答
494 浏览

node.js - 为什么我的函数在命令行中运行两次但在 vscode 中没有

我正在使用一个文件中的一个函数,在另一个文件中,并在那里调用它。这导致该函数在从命令行运行时同时运行两次,但在我在 VSCode 中运行时却没有。

这是一个例子:

在 VSCode 中运行时的输出:

在命令行中运行时的输出:

我不确定为什么会这样……不,我不是偶然在 fileOne 中调用它,因为那样它也会在 VSCode 中运行两次。

谢谢。

0 投票
1 回答
49 浏览

node.js - 是否可以在不包装到函数/类中的情况下导出整个 Node.JS 模块?

是否可以导出整个Node.JS模块并具有以下功能:

  1. 从另一个模块导入这个模块
  2. 获取所有methodsattributes设置到此模块中
  3. 不想将此代码的任何部分从我的模块包装到函数/类中?

例如,我想创建一个REST.js具有以下属性和方法的模块:

这个模块需要使用一些语法导入app.js,这使我能够使用以下 API(或类似的)来获取属性和使用方法REST.js

总而言之,我想知道是否有类似于Python使用模块的语法。

0 投票
0 回答
1620 浏览

node.js - 如何从同一个节点 CLI 动态导入 commonJS 和 ES6 模块?

我查看了许多关于 SO 的类似问题,但没有找到明确的答案。

我正在编写一个 npm CLI 工具,它应该动态导入指定的模块并对该模块的导出运行一些操作。

在我的 npm 包中,我已经指定"type": "module"并且我的二进制文件是bin/generator.mjs.

我尝试使用它的方式是:❯ ./bin/generator.mjs path/to/test-module.js [other args]- 然后在生成器中我这样做:

使用此配置,我可以在命令行上指定一个 ES6 模块,并且生成器工作正常,但是,如果我指定一个 CommonJS 模块,我会得到:

这是我的两个测试文件:

ES6 模块

CommonJS 模块

因此,我尝试使用两个不同的二进制文件 -generator用于 ES6 模块和generator-cjsCommonJS 模块 - 我修改了原始文件以使用requires 代替import,但是,bin/generator.mjs继续正常工作,但bin/generator.cjs抛出此错误:

如果我"type": "module"从我的package.json,中删除generatorgenerator-cjs处理 CommonJS 文件,但generator在 ES6 模块上抛出此错误:


理想情况下:我想要一个可以动态导入 CommonJS 和 ES6 模块的二进制文件。

如果您已经阅读到这里 - 谢谢。

您对我如何解决此问题有任何想法吗?如果您希望我尝试提供更多信息,请告诉我。

谢谢,


编辑:我应该提一下,将 CommonJS 模块转换为 ES6 不是一种选择,因为有近一百个 CJS 模块,并且它们具有复杂的依赖链,需要时间来解开。

0 投票
1 回答
386 浏览

javascript - 如何从函数中修改 module.exports?

所以我的意思是我想在函数中导出某个对象。

这似乎不起作用,它变得未定义,你们能帮忙吗?

0 投票
1 回答
120 浏览

javascript - module.export 正在导出对象而不是存储在变量中的字符串

当我使用 module.exports 并在末尾添加一个字符串时,它会导出并在字符串中正确显示,但是当我导出变量时,它会返回一个对象 {}。

这是 export.js 文件中的代码

在这里 myFunction 执行 onclick 事件。

这是导入文件夹中的代码,它在控制台中注销了一个空对象。

0 投票
1 回答
827 浏览

node.js - 如何从 axios 获取数据到 module.exports

我尝试从 axios 获取数据

示例 data.js

请求文件 data.js

main.js

我尝试运行 node main.js 数据为空。我不确定我错了

0 投票
1 回答
83 浏览

javascript - 如何在不使用该文件中的 require 函数的情况下将 npm 模块导出到另一个文件

我想知道如何在不使用该文件所需的函数的情况下将 npm 模块导出到另一个文件。

我的主要 javascript 文件显示如下

我的导出 javascript 文件显示如下

只需在听到 addon.js 文件中读取图像文件并导出到 index.js 文件并听到它显示图像。它工作正常

但我想删除 require 功能

在 addon.js 文件上

并将该 npm 模块从 index.js 文件导出到 addon.js 文件。index.js 文件中的类似内容

怎么办啊各位...

0 投票
1 回答
236 浏览

javascript - 如何将所需模块存储在 Node JS 的字典中?

我只想将我已经需要的模块存储在这样的字典中:

Vars.js:

userJackModule.js:

userJackModule.balance在 中导出了一个变量userJackModule.js,但我无法通过执行来访问它users["jack"]["jsFile"].balance。我怎样才能做到这一点?

0 投票
1 回答
108 浏览

node.js - 使用 export.getRandomInt = getRandomInt 导出到另一个文件时,getRandomInt 不是函数

所以我试图保持我的代码干净。为此,我使用了 VS 代码的内置代码重构“移动到新文件”。与往常一样,它不可能那么容易,所以一切都不起作用。当我尝试在我的 Game 类中使用此方法时,我收到一条错误消息getRandomInt is not a function. 我已经看到了十几个关于这个的 StackOverflow 线程,尽管它们都不能解决我的问题。然后我认为这可能只是个人问题,所以我在这里。被同样的问题困扰了两天...

游戏.js:

index.js (有点减少,但它不应该有所作为):

有那么难吗?它内置在 VS 代码的重构系统中,所以我觉得有些东西在我身上。

0 投票
0 回答
103 浏览

javascript - 尝试使用 JavaScript、Node.js 导出函数但未成功

我正在尝试学习 Node.js,我现在有一个非常好的应用程序,但我想实现一个库(venom-bot)来发送一些短信。我的问题是我在尝试使用主文件之外的函数时遇到了麻烦。这是我的代码:

helpers.js文件中,我需要这样:

每当helpers.send被调用时,它应该正确使用helpers.send传递app.msgas 参数上方的 async 函数,至少我认为应该如此。我在这里缺少什么?

我得到的错误是:

(节点:18148)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“sendText”

出于测试目的,当我收到对指定路线的获取请求时,我试图简单地调用该助手。