node.js模块通过命令行运行,而不是通过脚本运行

问题描述 投票:0回答:1

我已经在Windows 8.1机器上安装了jsdom。

如果我是本地安装的jsdom上方的一个目录,可以致电

node jsdom

并且一切正常。

但是,如果从同一目录/密码中,我使用以下命令调用脚本(在不同路径下)

require("jsdom").jsdom;

我收到类型错误

Error: cannot find module 'jsdom'
node.js jsdom
1个回答
10
投票

节点的CLI和require()的行为略有不同:

[node path使用path.resolve]解析

  • 表现出您希望操作系统解析路径的作用。
  • [path.resolve

使用require(path)]解析
  • exact的行为有点复杂,但是基本上,如果字符串的开头看起来像程序包名称,它将在require.resolve中寻找匹配的程序包(即,看起来不像文件系统路径)以require.resolvenode_modules./等开头。

    根据您的情况,您可以使用NPM安装模块(首选):

/

或如果已将其手动添加到文件系统中,则直接包含该文件:

../
© www.soinside.com 2019 - 2024. All rights reserved.