Node.js 如何从命令行要求使用节点的模块?

Node.js 如何从命令行要求使用节点的模块?,node.js,Node.js,我正在使用MacOSX。我已经通过自制安装了node。我已经通过npm install-g moment安装了我的库() 当我在命令行中键入node时,我会得到NodeJS控制台,它看起来像: > 现在,假设我想使用时刻库。如果我键入: var moment = require('moment'); 我得到以下错误: 错误:找不到模块“时刻” 如何从命令行配置和要求使用节点的外部库?您可以执行以下操作: npm install moment # module must be installed

我正在使用MacOSX。我已经通过自制安装了node。我已经通过
npm install-g moment
安装了我的库()

当我在命令行中键入
node
时,我会得到NodeJS控制台,它看起来像:

>

现在,假设我想使用
时刻
库。如果我键入:

var moment = require('moment');
我得到以下错误:

错误:找不到模块“时刻”


如何从命令行配置和要求使用节点的外部库?

您可以执行以下操作:

npm install moment # module must be installed locally
node --require moment
var moment = require('moment');
moment().format();
并输入以下内容:

npm install moment # module must be installed locally
node --require moment
var moment = require('moment');
moment().format();
man
页面:

-r, --require          module to preload at startup

,似乎
节点--require
不会在版本4.2.x中搜索全局模块,并且如果模块是全局安装的而不是本地安装的,也不会引发任何错误。

我刚刚意识到我在一个目录中运行代码时,安装了
,而不是全局安装的。看起来,
--require
可能不支持全局模块。啊哈!它必须在本地安装。非常感谢。从中可以看出,似乎只需要本地模块。如果本地搜索失败,Node不会检查全局模块。我希望通过命令行命令自动获得
时刻
全局。。考虑到脚本中明确的require,我认为命令行选项
--require moment
是冗余的,例如,如果您需要项目中存在的模块,您可以预先设置
节点路径=./lib节点…
(例如)。我的流程是在命令行中,运行一些代码并进行探索,然后找到我需要的模块(如果我找到需要处理的日期,moment就是一个很好的例子)。在使用命令行的时候需要一个使用互联网地址的模块是不是太棒了?这是不切实际的,因为NPM当然是和node分开的。我刚刚找到了这个包:-我看看这是否能给我我想要的东西!:)