我正在尝试将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