Javascript 如何将第三方软件包导入Meteor?
我正在尝试为Meteor重新打包Gibberish.js,但到目前为止没有任何效果。包有自己的npm依赖项。我首先尝试将其作为git子模块加载。我的package.js中有这个: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');
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
我不想更改包中的每个文件
为什么不呢
客户端/兼容性
gibberish.js
gibberish.js
复制到client/compatibility
中客户端/兼容性
gibberish.js
gibberish.js
复制到client/compatibility
中