首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流星找不到模块“模块”

流星找不到模块“模块”
EN

Stack Overflow用户
提问于 2014-02-04 23:23:46
回答 2查看 5K关注 0票数 3

我正在尝试在meteor中安装鬼鬼祟祟模块(这个模块位于我的公用文件夹:app/ public /node_node)。

我阅读了答案在这个岗位上,并在server/server.js中添加了以下代码

代码语言:javascript
复制
Meteor.startup ->
    path = Npm.require 'path'
    fs = Npm.require 'fs'
    base = path.resolve '.'
    isBundle = fs.existsSync base + '/bundle'
    modulePath = base + (if isBundle then '/bundle/static' else '/public') + '/node_modules'
    spooky = Npm.require modulePath + '/spooky'

但当我运行流星时,我得到:

代码语言:javascript
复制
Error: Cannot find module '/Users/mac/Documents/websites/app/.meteor/local/build/programs/server/public/node_modules/spooky'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-04 23:31:50

您需要创建一个智能包,以便在应用程序中使用Npm模块。或者,你可以使用流星-npm。

您不能单独使用Npm.require来处理非标准的npm模块,比如spooky。

如果你使用流星-npm,你可以用陨石:mrt add npm安装它。

然后,在您将模块添加到您的Meteor.require("spooky")之后,使用packages.json。您可以在这里查看更多细节:http://meteorhacks.com/complete-npm-integration-for-meteor.html

这样做的官方方法是制作自己的智能包来包装npm模块。有这样一个包的例子:https://github.com/avital/meteor-xml2js-npm-demo

该示例使用xml2js作为npm模块,但您可以将其名称替换为它的诡异。

然后,您可以将此包添加到您的/packages文件夹中(例如,使用名称spooky),并将其添加到您的meteor add spooky流星项目中。

atmosphere.meteor.com上的包有更多的例子,它们几乎都是这样做的(例如,条带(https://atmosphere.meteor.com/package/stripe))。

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 15:34:53

文章 Akshat 连在一起已经更新:

代码语言:javascript
复制
cd project
meteor add meteorhacks:npm

编辑project/packages.json

代码语言:javascript
复制
{
  "redis": "0.8.2",
  "github": "0.1.8"
}

使用这些国家预防机制模块:

代码语言:javascript
复制
var Github = Meteor.npmRequire('github');
var github = new Github();

github.gists.getFromUser({user: 'arunoda'}, function(err, gists) {
  console.log(gists);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21565679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档