当前位置: 首页 > 知识库问答 >
问题:

如何在NodeJS中使用来自多个文件的变量?

曾嘉荣
2023-03-14

我想从1中得到一个变量。将js文件复制到另一个。js文件。现在我有主要的问题。js

const balances = require('./balance');
console.log(balances.balanceBTC)

我有平衡感。js

const balanceBTC = () => {
  return arrayCleaned[0];
};
exports.balanceBTC = balanceBTC;

我得到了错误

常量余额=需要(“./余额”);

ReferenceError:未定义require

我通过windows PowerShell运行此代码,节点版本为:v14。10.1

共有2个答案

富凯风
2023-03-14

问题似乎来自运行代码的环境。检查以下链接,您将找到答案:

未定义节点| Require

https://www.thecrazyprogrammer.com/2020/05/require-is-not-defined.html

要求未定义nodejs

https://github.com/nodejs/node/issues/33741

蓬英逸
2023-03-14

NodeJS可能将您的代码视为ES模块。ES模块中没有诸如“require”之类的CommonJS变量。请尝试以下选项之一:

>

  • 正如这里提到的,在使用之前声明需要

      import { createRequire } from 'module';
      const require = createRequire(import.meta.url);
    
      const balances = require('./balance');
      [...]
    

    如果包中有“type”:“module”。json,删除它

  •  类似资料:
    • 问题内容: 我想保留一个中央.scss文件,该文件存储项目的所有SASS变量定义。 由于其性质,该项目将具有大量CSS文件。我必须在一个位置声明所有项目范围的样式变量,这一点很重要。 有没有办法在SCSS中做到这一点? 问题答案: 您可以这样做: 我有一个名为Utility的文件夹,并且在其中有一个名为_variables.scss的文件 在该文件中,我这样声明变量: 然后我有style.scss

    • 我的文件夹根目录上有一个。env文件。这是我的。环境 我试图访问application.yml上的PORT变量,但它没有从。env文件中读取变量。这是我的申请。yml

    • 问题内容: 我对NodeJ很陌生。而且我正在尝试将文件读入变量。这是我的代码。 但每次我运行该脚本,我得到 和 我想念什么?请帮助! 问题答案: 正如您在问题下的注释中所述,节点是异步的-意味着当您调用第二个函数时,您的函数尚未完成执行。 如果在读取文件后将日志语句移动到回调中,则应该看到输出的内容: 即使这将解决您眼前的问题,但如果不了解节点的异步特性,您将遇到很多问题。

    • 问题内容: 我试图将来自多个文件的所有测试合并到一个文件中,如下所示: 我很确定这不是参加测试的最佳方式,我很难找到如何执行此操作的示例: 问题答案: 如果你想包含多个模块 到 您的层次结构就像你在你的问题做什么,你在做什么是相当多的 它 ,除非你想要写摩卡自定义测试装载机。编写自定义加载器不会比已有代码容易或使代码更清晰。 这是我将如何更改某些事情的示例。本示例中的子目录组织为: : 该功能只是

    • 问题内容: 我想修改以下代码以从文本文件中读取节点(相对于硬编码值) 此外,以以下格式从文本文件中读取数据: P1 = 3 5 1 -1 0 8 P2 = 5 6 2 -1 1 7 0 -4 等等… 命名值P(x)并输入剩余数据。有什么建议吗? 问题答案: 除非您的数据已经是二进制格式,否则我不会使用。以下示例用于撰写。 请注意,为方便应用 Horner方案 ,最高阶系数是第一个,如本示例所示。

    • 我把这个要点用在我的文档中:https://gist.github.com/httpNick/708219f5002b6a9dc578 它对ES6 Babelfiying非常有效,但我想查看我的系统中的所有文件/public/js文件夹,并将生成版本输出到生成文件夹。有没有办法修改这个gulpfile来查看文件夹中的所有js文件? 从要点复制粘贴: