【问题标题】:How to see which functions are public and available in node_modules?如何查看 node_modules 中哪些函数是公开的和可用的?
【发布时间】:2014-11-11 08:30:15
【问题描述】:

我在做MOOC Startup Engineering。它教如何使用节点,但似乎代码不再工作了。代码位于:

https://spark-public.s3.amazonaws.com/startup/code/market-research.js

我已经下载了如下依赖:

# Install npm dependencies. This will create a node_modules directory in the current working directory. Don't cd into other directories right now; later we'll show how to install modules globally.
npm install restler csv accounting

当我执行node market-research.js时,我得到了错误:

/home/ubuntu/market-research.js:47
    csv()
    ^
TypeError: object is not a function
    at csv2console (/home/ubuntu/market-research.js:47:5)
    at Request.response2console (/home/ubuntu/market-research.js:65:13)
    at Request.emit (events.js:98:17)
    at Request.mixin._fireSuccess (/home/ubuntu/node_modules/restler/lib/restler.js:226:10)
    at /home/ubuntu/node_modules/restler/lib/restler.js:158:20
    at IncomingMessage.parsers.auto (/home/ubuntu/node_modules/restler/lib/restler.js:394:7)
    at Request.mixin._encode (/home/ubuntu/node_modules/restler/lib/restler.js:195:29)
    at /home/ubuntu/node_modules/restler/lib/restler.js:154:16
    at Request.mixin._decode (/home/ubuntu/node_modules/restler/lib/restler.js:170:7)
    at IncomingMessage.<anonymous> (/home/ubuntu/node_modules/restler/lib/restler.js:147:14)

由于代码中包含var csv = require('csv');,我正在尝试确定它是否被实际导入。

如果我理解得很好,node_modules 中的某处一定是exports.csv= csv;有没有办法检查哪些变量或函数已被导出?

我写了exports。返回节点:ReferenceError: exports is not defined

【问题讨论】:

  • 它导入的 csv 模块已经更新,它不再兼容 csv() 方式。 csv 存储库是github.com/wdavidw/node-csv。尝试使用旧版本。
  • @wayne 谢谢,但为什么不再工作了?或者我该如何解决?最后,有没有办法检查导出了哪些变量或函数?
  • @wayne 我认为 csv 模块现在有一个实际上不同的 API,对吧?无论如何,问题“有没有办法检查哪些变量或函数已被导出?”仍然开放

标签: node.js node-modules


【解决方案1】:

如果你想让它工作修改你的 package.json,在“依赖项”中更改 csv 的版本号,但我不记得是哪个版本了 csv()

要查看公共函数列表,最简单的方法是打开一个 bash/cmd/console,无论您在项目文件夹中使用的哪个终端都有 node_modules。

node -> hit enter
var csv = require('csv');
csv. -> then hit tab couple of times

【讨论】:

  • 当我输入:var csv = require('csv');,它返回:undefined。然后我输入csv.,它返回... 无论按多少次回车,它都返回...
  • 您需要在具有 node_modules 的项目文件夹中执行此操作,其中您有 npm install csv 模块。
  • 我想我按照你说的做了:dl.dropboxusercontent.com/u/3653993/Clipboard01.png
  • 要么是你的终端,要么是你的节点版本真的很低pbrd.co/1uh11DS。无论如何,csv 函数在 github 中有很好的记录。
  • 它是最新版本的 cygwin,但我正在管理亚马逊的 Ubuntu 实例。我想知道我是否必须更新终端的本地或远程实例。不过,这似乎是一个不同的话题,所以我在这里问:stackoverflow.com/questions/26865139/…
猜你喜欢
  • 2020-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-06
  • 1970-01-01
  • 2014-04-09
相关资源
最近更新 更多