【问题标题】:Load NPM package in Meteor 1.0?在 Meteor 1.0 中加载 NPM 包?
【发布时间】:2014-12-26 23:03:54
【问题描述】:

随着 Meteor 的正式推出,是否有可靠的方法来使用 NPM 包?我正在尝试使用 embed.ly,但我没有看到任何直接的方法。

另外,作为一个流星新手,我如何在我的文件中包含包?我没有看到任何“要求”或“导出”功能。

谢谢!

【问题讨论】:

标签: node.js meteor npm


【解决方案1】:

在新的“localmarket”示例中,它们在包目录中包含一个 npm 包,如下所示:

请求 = Meteor.wrapAsync(Npm.require('request'));

在 package.js 文件中:

Package.describe({
  summary: "Wraps the request module from Npm in a fiber.",
  version: '0.0.0'
});

Npm.depends({request: "2.33.0"});

Package.on_use(function (api) {
  api.add_files('request-server.js', 'server');
  api.export('Request');
});

【讨论】:

  • 问题不在于在流星包中使用 npm 包。使用 npm 包的机制与流星项目本身的使用不同
  • 我同意,这在我看来是更简洁的方法,因为使用了已经实现的功能。您可以简单地创建自己的包并定义依赖项,而不是添加使您能够通过另一个配置文件包含 npm 包的 3rd 方包。
【解决方案2】:

你可以安装meteorhacks:npm

meteor add meteorhacks:npm
meteor

Meteor 然后会停止。然后您可以编辑新的 package.json 文件

{
    "request" : "2.33.0"
}

然后当你启动 Meteor 时,它会为你安装 npm 模块。

用法如下(使用Meteor.npmRequire而不是require

request = Meteor.npmRequire("request");

【讨论】:

  • 值得注意的是 Meteor.npmRequire 只是服务器端。 github.com/meteorhacks/npm
  • 您好,谢谢您的回答!我现在特别是在使用 JSFTP 模块时遇到了一些问题。我在这里有一个问题,如果您能给我一些指示,我将不胜感激。 stackoverflow.com/questions/28822711/running-ftp-in-meteor
  • 另外值得注意的是 Meteor 原生支持:docs.meteor.com/#/full/Npm-depends
  • @jm_____ meteorhacks:npm 包实际上只是 Npm.depends 和 Npm.require 的代理。原生使用并不简单,因为它需要你制作一个包含它们的包,就像 meteorhacks:npm 所做的那样,你不必编写一个。
【解决方案3】:

你可以先安装这个包https://github.com/meteorhacks/npm。然后用它来 require 其他 NPM 包。

【讨论】:

    猜你喜欢
    • 2015-01-22
    • 2013-03-13
    • 2019-10-21
    • 2015-03-09
    • 2015-10-21
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多