类型错误:不是构造函数

2024-03-21

我只是将代码用作有关 JavaScript 类的学习练习。

该代码产生“TypeError:SimpleLogger 不是构造函数”。该类似乎已导出,但我无法在 main.js 文件中实例化它。

我已经减少了代码以仅显示问题。我想知道是否有人能发现这个问题。谢谢。

// In simplelogger.js
"use strict";
class SimpleLogger {
    constructor(level) {
        this.level = level || DEFAULT_LEVEL;
    }

    // .... other methods
}

const DEFAULT_LEVEL = 'info';

module.exports = {
    SimpleLogger,
    DEFAULT_LEVEL
}

// In main.js
"use strict";
const SimpleLogger = require('./simplelogger.js');

let log = new SimpleLogger('info');

错误是在最后一行产生的。


您正在导出一个包含两者的对象SimpleLogger and DEFAULT_LEVEL因此,要在 main.js 中使用它,您需要像这样正确引用它

const SimpleLogger = require('./simplelogger.js').SimpleLogger;
let log = new SimpleLogger('info');

如果您只想导出SimpleLogger你可以像这样改变你的出口

module.exports = SimpleLogger

那么你可以要求SimpleLogger正如您在代码中所做的那样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型错误:不是构造函数 的相关文章

随机推荐

  • Firebase Firestore JavaScript:查找未设置字段的文档

    在 Firebase Firestore 中 我可以查询未设置特定字段的文档吗 我知道如果我这样做 collectionReference where requires null 不会做我想做的事null是根本不同的 undefined驱动
  • 使用 JavaScript 创建 Powerpoint

    JavaScript 无法在客户端文件系统上本地创建文件 但是 我想知道是否可以通过某种 JSON 在网页 div 或 iframe 中以某种方式创建 Powerpoint MIME 然后让 UserAgent 找出它是 Powerpoin
  • iOS Safari HTML 表单下一个/上一个按钮 - 它们如何工作?

    免责声明 我正在使用 JQuery Mobile 我有一堆带有不同表单的页面 但其中一些页面在按下下一个 上一个按钮时似乎表现出不同的行为 所有表单都设置了选项卡索引 Form 1 工作完美 只是它跳过了 JQuery Mobile 翻转开
  • 在 Visual Studio 2008 中合并时强制比较文件

    目前 当我在 Visual Studio 2008 中右键单击 gt 合并特定文件时 它会尝试 并且通常会成功 自动将该文件合并到我指定的目标 如何强制 VS 始终允许我在合并工具中手动比较和合并文件 我应该提到我的源代码管理是 TFS 这
  • 红宝石脱轨

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 有时感觉我的公司是世界上唯一一家使用Ruby而不使用Ruby on Rails的公司 以至于R
  • 如何从 perl6 调用 Java 方法

    use java util zip CRC32 from
  • 在 Google 应用引擎上部署失败

    我有一个java应用程序 spring mvc jpa 我正在尝试将其部署在谷歌应用程序引擎上 由于某种原因 部署完成后出现以下错误 20 扫描本地磁盘上的文件 25 正在启动更新 错误详情 2011 年 2 月 26 日上午 10 43
  • 我们可以优化代码来降低功耗吗?

    有没有什么技术可以优化代码以确保更低的功耗 架构是ARM 语言是C 来自 ARM 技术参考网站 ARM11 MPCore 的特性 提高能源效率的处理器 效率包括 准确的分支和子程序返回预测 减少数量 错误的指令获取和 解码操作 使用物理寻址
  • 将 pandas DataFrame 列扩展为多行

    如果我有一个DataFrame这样 pd DataFrame name John days 1 3 5 7 给出这个结构 days name 0 1 3 5 7 John 如何将其扩展为以下内容 days name 0 1 John 1 3
  • 在存储过程中设置结果表名称

    返回多个结果的存储过程 CREATE PROCEDURE dbo GetMultipleTable AS BEGIN if exists select something from somewhere where somecondition
  • 在Java中生成泊松到达

    我想在Java中创建一个函数 在给定平均到达率 lambda 和平均服务率 mu 的情况下生成泊松到达 在我的示例中 每天有 2 2 个请求 换句话说 每天有 2 2 个到达 平均服务时间为 108 小时 考虑到我的程序在 t 0 分钟开始
  • 如何使 C# Windows 运行时组件类型相等?

    我正在用 C 编写一个 Windows 运行时组件 我想在我的一些类型中实现 IEquatable 接口 我不需要向组件的使用者公开 Equals 方法 我只是希望我的单元测试能够在实例之间进行比较 不允许实现 IEquatable 因为它
  • “As Dictionary”和“As Scripting.Dictionary”是否等效(对于 VBA 早期绑定)?

    使用早期绑定和 Microsoft 脚本运行时库创建字典对象时 同一事物似乎有 2 个等效的类型名称 Dim dict as Dictionary Set dict New Dictionary and Dim dict as Script
  • 性能:具有多次调用的全局和局部声明

    为什么R中无论在哪里声明函数 两者性能几乎相同 library microbenchmark f1 lt function lapply 1 100000 function x fun lt function 1 10000 fun f2
  • 合并两个表并为 R 中的每个表添加标题

    我想并排显示两个回归分析的结果 比如说逻辑回归和 COX 回归 变量以行形式呈现 p OR HR 和置信区间的相应数据以列形式呈现 因此 列名称不匹配 OR 位于左侧 HR 位于右侧 我尝试了 cbind 但遇到了以下问题 1 如果由于变量
  • 如何使用最小起订量模拟将项目添加到存储库或 DbContext?

    我见过的对存储库使用最小起订量的示例仅展示了如何模拟返回的内容 我有一个有点奇怪的要求 当执行查询时 如果条件存在 则应将某个项目添加到存储库中 我想知道如何在不查询数据库的情况下测试它 我知道如何模拟现有条件 但是如何设置模拟以便可以测试
  • 如何在 tkinter 文本小部件中突出显示文本

    我想知道如何根据某些模式改变某些单词和表达方式的风格 我正在使用Tkinter Textwidget 我不知道如何做这样的事情 与文本编辑器中语法突出显示的想法相同 我不确定这是否是用于此目的的正确小部件 它是用于这些目的的正确小部件 基本
  • Django Rest框架批量创建

    我正在尝试制作一个 api 您可以使用 django Rest 框架通过单个 Post 请求创建多个对象 但是 我的序列化器提供了一个我不明白的错误 首先这是我的代码的骨架 我的序列化器 class MyModelSerializer se
  • MIPS——这重要吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的问题 了解 MIPS 编程语言有用吗 我是一名计算机科学学生 正在上一门以 MIPS 为重点的汇编课程 我很擅长使用高级语言进行编写 但 M
  • 类型错误:不是构造函数

    我只是将代码用作有关 JavaScript 类的学习练习 该代码产生 TypeError SimpleLogger 不是构造函数 该类似乎已导出 但我无法在 main js 文件中实例化它 我已经减少了代码以仅显示问题 我想知道是否有人能发