我正在尝试将Gibberish.js重新打包为Meteor,到目前为止没有任何效果。该软件包具有其自己的npm依赖性。我首先尝试将其作为git子模块加载。我在package.js中有这个:

Npm.depends({
    "connect": "2.25.7",
    "serve-static": "1.5.3",
    "uglify-js": "2.4.15"
});

Package.onUse(function(api) {
  api.versionsFrom('1.1.0.2');
  api.addFiles('build/gibberish.js', ['client','server']);
});


它抱怨Gibberish.init()不是一个函数,所以我猜它没有看到该包。因此,我意识到gibberish-dsp是它自己的npm软件包,因此我尝试通过npm包含它。我用这个:

package.js

Npm.depends({
    "connect": "2.25.7",
    "serve-static": "1.5.3",
    "uglify-js": "2.4.15",
    "gibberish-dsp": "2.3.2"
});

Package.onUse(function (api) {

  api.addFiles([
    'lib/gibberish.js',
  ], ['server']);

  api.export([
    'gibberish'
  ]);


lib / gibberish.js:

juice = Npm.require('gibberish-dsp');


这给了它一个回调错误。我猜Meteor无法使用第三方程序包进行回调?!所以我尝试了meteorhacks:npm,显然可以解决回调错误。我尝试了这个:

  if (Meteor.isServer) {

    console.log('server');
      var gibberish = new Gibberish();
      var init = Async.wrap(init);
      gibberish.init();

     }

});


在/ packages /文件夹中出现乱码子模块后,我得到一个SyntaxError: Unexpected token Y

更新:SyntaxError引用乱码包中的“ Bad HTML”。显然,它试图将其读取为Meteor HTML文件(即没有DOCTYPE等),我不想更改包中的每个文件!

我可能已经花了大约20个小时。为什么加载外部库这么难?!?!我还可以做些什么?我想喜欢流星,但我准备放弃。

最佳答案

您是否已将其添加到Meteor构建的活动包列表中?除非列出该软件包,否则不会使用该软件包。

$ meteor add user:gibberish

07-24 09:44
查看更多