流星找不到模块“模块”

朱利安·库帕奈克(Julien Le Coupanec)

我正在尝试在流星中安装Spooky模块(这在我的公用文件夹中:app / public / node_modules)。

我已经阅读了这篇文章中的答案并在server / server.js中添加了以下代码

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'

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

Error: Cannot find module '/Users/mac/Documents/websites/app/.meteor/local/build/programs/server/public/node_modules/spooky'
阿克沙特

您需要创建一个智能软件包才能在应用程序中使用Npm模块。另外,您可以使用meteor-npm。

您不能Npm.require单独使用非标准npm模块,例如spooky。

如果使用meteor-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

大气层.meteor.com上的软件包有更多此类示例,它们几乎做同样的事情(例如,条带化(https(at条纹)(https://atmosphere.meteor.com/package/stripe))。

本文收集自互联网,转载请注明来源。

如有侵权,请联系debugcn@gmail.com 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章