Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将第三方软件包导入Meteor?_Javascript_Node.js_Meteor - Fatal编程技术网

Javascript 如何将第三方软件包导入Meteor?

Javascript 如何将第三方软件包导入Meteor?,javascript,node.js,meteor,Javascript,Node.js,Meteor,我正在尝试为Meteor重新打包Gibberish.js,但到目前为止没有任何效果。包有自己的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');

我正在尝试为Meteor重新打包Gibberish.js,但到目前为止没有任何效果。包有自己的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()
不是函数,所以我猜它没有看到包。然后我意识到胡言乱语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指的是乱七八糟的包中的“坏HTML”。显然,它试图将其作为Meteor HTML文件(即没有DOCTYPE等)读取。我不想更改包中的每个文件


我大概已经花了20个小时在这上面了。为什么加载外部库如此困难?!?!我还能做什么?我想喜欢Meteor,但我准备放弃。

您是否已将其添加到Meteor版本的活动包列表中?除非列在那里,否则不会使用该软件包

$ meteor add user:gibberish

你已经把它添加到你的Meteor版本的活动包列表中了吗?除非列在那里,否则不会使用该软件包

$ meteor add user:gibberish
我不想更改包中的每个文件

为什么不呢

  • 分叉现有的节点包
  • 使用in使其适合流星
  • 仅更新兼容部件以跟上节点包
  • 更新:您似乎已接受:

    最简单(非打包)的方法是使用
    客户端/兼容性

  • 删除您正在使用的任何自制软件包,以使其正常工作 (或者重新开始一个新项目)
  • 在中构建
    gibberish.js
  • gibberish.js
    复制到
    client/compatibility
  • 现在,您可以访问客户端代码中的胡言乱语对象

    我不想更改包中的每个文件

    为什么不呢

  • 分叉现有的节点包
  • 使用in使其适合流星
  • 仅更新兼容部件以跟上节点包
  • 更新:您似乎已接受:

    最简单(非打包)的方法是使用
    客户端/兼容性

  • 删除您正在使用的任何自制软件包,以使其正常工作 (或者重新开始一个新项目)
  • 在中构建
    gibberish.js
  • gibberish.js
    复制到
    client/compatibility
  • 现在,您可以访问客户端代码中的胡言乱语对象