【问题标题】:zepto module in nodejs not found找不到nodejs中的zepto模块
【发布时间】:2014-12-12 04:25:15
【问题描述】:

我是 nodejs 的新手。

我安装了全局模块 zepto 和 jsdom :

npm install jsdom -g
npm install zepto -g

我检查了npm list -g。这些模块已安装。

但是当我使用 require 在脚本中引用这两个模块时:

var jsdom = require("jsdom");
var Zepto = require("zepto");

我收到一条错误消息:

Error: Cannot find module 'zepto'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/user554/dev/exchange/bin/getExchangeData.js:6:13)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)

我只尝试了 jsdom 和 zepto。只有 Zepto 失败了。

我错过了什么?感谢您的帮助。

【问题讨论】:

  • require()一个模块,安装它locally。全局包仅用于从命令行使用。如果您需要两种用途,则必须在两个位置都安装它。文档:npm-folders.
  • 谢谢,但它似乎不符合我的需要。我想在许多具有相同模块的脚本中使用 node.js。所以维护相同文件的多个副本是很疯狂的。
  • 本地化安装通常只针对整个模块的版本依赖。 NPM 仅在给定路径中安装模块的一个版本。通过在每个应用程序中使用全局模块,您可能必须一次修改所有应用程序以支持更新模块,或者如果一个应用程序根本无法支持更新,则必须推迟。
  • 我明白你的意思。但是你认为只有在出现兼容性问题时才在本地安装它。直到今天,它会更容易维护。关于我使用的模块和我使用它们的方式,应该很长一段时间才会没有复古兼容性。

标签: javascript node.js zepto


【解决方案1】:

zepto 包不是正确的 Node 包。它安装了一个缩小版的 Zepto 库,但看起来它是为浏览器使用而设计的(为什么它会在 NPM 存储库中?我不知道)。

请尝试使用zepto-node 包。

【讨论】:

  • 只是为了满足我的好奇心,你怎么知道它不是一个合适的 Node 包?
  • 因为它没有加载 ;) 但更严重的是:package.json 文件没有main 属性,该属性用于指向一个入口点,当你@ 987654326@一个模块。
【解决方案2】:

这里真正的问题是您正在全局安装。使用 -g 安装仅适用于提供某种命令行脚本的模块(例如,express-generator 提供了您可以在 shell 提示符下使用的 express 命令)。

通常你安装没有-g的模块,它会在本地安装,你可以require()它就好了。但是,正如@robertklep 所指出的,zepto 模块当前为does not export anything(package.json 中缺少“lib”),因此在本地安装对于该特定模块没有帮助。

【讨论】:

  • 他可以加载jsdom全局安装)就好了,所以这不是问题。在本地安装 zepto 包也不能解决问题。
  • 感谢您的回答,但它不适合我在本地安装它的需要。许多具有相同模块的脚本。这就是我使用全局安装模块和 NODE_PATH 的原因。
  • 关于jsdom,我的猜测是他们之前没有安装-g,或者他们使用了npm link,他们在原始问题中都没有分享。
  • @mscdex 或 $NODE_PATH 设置为允许加载全局包。
  • @mscdex NODE_PATH 设置得当。
猜你喜欢
  • 2017-12-16
  • 2014-01-29
  • 1970-01-01
  • 2013-12-25
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-31
相关资源
最近更新 更多