当前位置: 首页 > 面试题库 >

在Node.js中使用Underscore模块

燕烨
2023-03-14
问题内容

我一直在学习有关node.js和模块的信息,似乎无法让Underscore库正常工作……似乎我第一次使用Underscore中的函数时,它会覆盖_对象,其结果为我的函数调用。有人知道发生了什么吗?例如,这是来自node.js
REPL的会话:

Admin-MacBook-Pro:test admin$ node
> require("./underscore-min")
{ [Function]
  _: [Circular],
  VERSION: '1.1.4',
  forEach: [Function],
  each: [Function],
  map: [Function],
  inject: [Function],
  (...more functions...)
  templateSettings: { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g },
  template: [Function] }
> _.max([1,2,3])
3
> _.max([4,5,6])
TypeError: Object 3 has no method 'max'
    at [object Context]:1:3
    at Interface.<anonymous> (repl.js:171:22)
    at Interface.emit (events.js:64:17)
    at Interface._onLine (readline.js:153:10)
    at Interface._line (readline.js:408:8)
    at Interface._ttyWrite (readline.js:585:14)
    at ReadStream.<anonymous> (readline.js:73:12)
    at ReadStream.emit (events.js:81:20)
    at ReadStream._emitKey (tty_posix.js:307:10)
    at ReadStream.onData (tty_posix.js:70:12)
> _
3

当我自己制作Javascript文件并将其导入时,它们似乎工作正常。Underscore库也许有一些特别之处?


问题答案:

Node REPL使用underscore变量保存上一次操作的结果,因此它与Underscore库对同一变量的使用相冲突。尝试这样的事情:

Admin-MacBook-Pro:test admin$ node
> _und = require("./underscore-min")
{ [Function]
  _: [Circular],
  VERSION: '1.1.4',
  forEach: [Function],
  each: [Function],
  map: [Function],
  inject: [Function],
  (...more functions...)
  templateSettings: { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g },
  template: [Function] }
> _und.max([1,2,3])
3
> _und.max([4,5,6])
6


 类似资料:
  • 我试图在节点中使用自然模块。JS。我编写了一个简单的程序,从浏览器中获取输入,并使用贝叶斯分类器对其进行分类。但是,在运行时,我得到以下错误: 现在,为了研究,我通过了一个在另一个节点上有类似问题的人的以下线索。JS模块:https://github.com/andris9/mailcomposer/issues/6 我遵循卸载和重新安装natural的解决方案,没有任何帮助。我还发现:http:

  • underscore Underscore 提供了一系列有用的函数,用来操作数组,对象,和函数。每个Meteor APP都包含underscore包,因为框架大量使用了underscore。

  • 前面我们已经讲过了,JavaScript是函数式编程语言,支持高阶函数和闭包。函数式编程非常强大,可以写出非常简洁的代码。例如Array的map()和filter()方法: 'use strict'; var a1 = [1, 4, 9, 16]; var a2 = a1.map(Math.sqrt); // [1, 2, 3, 4] var a3 = a2.filter((x) => { ret

  • 在node的上下文中,我无法理解ES6模块。js。 假设我有一个简单的节点应用程序。它基于iisnode示例,但我在顶部添加了一个。 你好js: 这将导致在模块之外使用导入语句 但是如果我改名为hello。你好。mjs我收到以下错误: 对我来说似乎是个陷阱,有什么出路? (iisnode版本为0.2.26,节点版本为v13.8.0)

  • 问题内容: 因此,我正在编写一个小的辅助方法,使用将该数字转换为有效的货币格式()。在Chrome中使用时,一切正常,但是在Node.js中使用时,似乎完全坏了。 例: 如果在浏览器中运行此命令,它将显示。如果您在Node.js REPL或应用程序中运行此代码段,则它将作为字符串返回。 猜猜这是Node.js的错误吗?您可以在这里进行周围的工作吗? 问题答案: 基于此问题,似乎决定将具有国际化的n

  • 本文向大家介绍在 Node.js 中使用原生 ES 模块方法解析,包括了在 Node.js 中使用原生 ES 模块方法解析的使用技巧和注意事项,需要的朋友参考一下 从版本 8.5.0 开始,Node.js 开始支持原生 ES 模块,可以通过命令行选项打开该功能。新功能很大程度上得归功于 Bradley Farias。 1.演示 这个示例的代码目录结构如下: lib.mjs: main.mjs: 运